繁体   English   中英

客户端计算机上的ADO.NET实体数据库应用程序

[英]ADO.NET Entity-Database Application on Client Computer

所以我目前正在为我的C#认证考试做研究,并且我在从事数据的使用,这涉及ADO.NET实体,并使用它们来与数据库(嵌入在应用程序中)连接和通信,并且该模型是被创建。 我根据教科书中的示例创建了一个相对较小和简单的应用程序。

不管发生在我身上,如果我尝试将具有Entity Framework用法的应用程序部署到客户端计算机,将会发生什么情况(以防万一,我将来会使用它,并且需要知道如何使其正常工作)。 令我惊讶的是,它崩溃了,我只有一个数据网格,该网格在首次加载应用程序时绑定数据库中的数据。 因此,我猜测除了压缩文件或进行一键式部署以外,还有一些额外的工作要做。

我确实相信我正在测试的计算机具有适当的.net框架..(我现在正在对此进行检查)..但是,如果不是这样,请随时输入您的^。^

下面,我包括了示例测试应用程序的代码

员工类别:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WpfApplication1
{
   class Employee
   {
       public int ID { get; set; }
       public string FirstName { get; set; }
       public string LastName { get; set; }
       public string City { get; set; }
       public string State { get; set; }
   }
}

主视窗:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace WpfApplication1
{
public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        DoStuff();
    }

    public void DoStuff()
    {
        List<Employee> employees = new List<Employee>()
        {
            new Employee()
            {
                ID = 1,
                FirstName = "John",
                LastName = "Smith",
                City = "Havertown",
                State = "PA"
            },
            new Employee()
            {
                ID = 2,
                FirstName = "Jane",
                LastName = "Doe",
                City = "Ewing",
                State = "NJ"
            },
            new Employee()
            {
                ID = 3,
                FirstName = "Jack",
                LastName = "Jones",
                City = "Fort Washington",
                State = "PA"
            }
        };

        var employeesByState = from e in employees
                                group e by e.State;

        using (DatabaseEntities db = new DatabaseEntities())
        {
            foreach (var employeeGroup in employeesByState)
            {
                foreach (var employee in employeeGroup)
                {
                    Stuff st = new Stuff()
                    {
                        ID = employee.ID,
                        FirstName = employee.FirstName,
                        LastName = employee.LastName,
                    };
                    db.Stuffs.Add(st);
                    db.SaveChanges();

                    var result = (from c in db.Stuffs
                                 select c).ToList();
                    dtgResults.ItemsSource = result;
                }
            }
        }
    }
}

因此,我很确定自己在这里缺少一些基本要求,因为它在其他计算机上打开时会崩溃。 即使使用一键部署,我也认为该部署会下载并安装该应用程序的所有要求。

如果有人可以帮助我了解我所缺少的内容或理解不正确,那将是很好的,谢谢

由于我无法发表评论,因此我将其发布。

您应确保其他运行该应用程序的计算机有权访问DatabaseEntities上配置的连接字符串中所述的数据库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM