[英]Which is the best Scenario for getting data from Database (Entity Framework or Ado.Net) in a .net Core application?
[英]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.