[英]ADO.NET Entity Model: cannot insert into db programatically
我在用:
现在,我已经在VS 2010中将数据库重新创建为.fsi(不是.msi)数据库。
可以,但是无法解决如何通过数据模型进行选择/插入等问题,而不是麻烦解决创建连接,参数等问题的问题(效果很好)。
我已经在网上拖了好几天才能找到答案,但是从使用最新,最昂贵的版本开始,它总是非常详尽的分步指南。
我已经设置了数据源和连接(到完全用VS构建的数据库-甚至不知道它是否正在使用仍受支持的SQL引擎)
我尝试了多种编码INSERT的方法,这些方法SaveChanges()
结尾,例如
using (TutorBrainsDBEntities2 tB = new TutorBrainsDBEntities2())
{
var cl = new Client();
cl.ClientFirstName "XXXXX";
cl.ClientLastName = "XXXXX";
tB.SaveChanges();
}
我还在类中using System.Data.EntityModel
,在解决方案中也有对System.Data.Entity
的引用。
我知道这不是最好的一天,但是我在这里承受着很大的压力,并且不想使用一些过于复杂的Excel文件。...因此,我们将不胜感激(例如链接到涵盖这个相当奇怪的问题的文章。)
您创建了对象,但实际上从未将其添加到数据上下文中。 像这样:
var cl = new Client();
cl.ClientFirstName = "XXXXX";
cl.ClientLastName = "XXXXX";
tb.Clients.Add(cl); // <-- add the entity to the context
tB.SaveChanges();
否则,没有将cl
链接到数据上下文的方法,它只是一个内存对象,就像其他对象一样。
如果您使用的是EF(主要是数据库优先方法),则您的数据库上下文类已经具有Clients
实体集合的引用,在这种情况下,
using (TutorBrainsDBEntities2 tB = new TutorBrainsDBEntities2())
{
var cl = new Client();
cl.ClientFirstName = "XXXXX";
cl.ClientLastName = "XXXXX";
tB.Clients.Add(cl); //Add this line to add your newly created clients to the collection
tB.SaveChanges();
}
只需将数据库中的ClientID设置为SSMS中的标识列,然后尝试
using (TutorBrainsDBEntities2 tB = new TutorBrainsDBEntities2())
{
var cl = new Client();
cl.ClientFirstName = "XXXXX";
cl.ClientLastName = "XXXXX";
tB.Clients.Add(cl); //Add this line to add your newly created clients to the collection
tB.SaveChanges();
}
没有标识列,我将无法插入数据库
感谢大家的意见。 我试图使用.Add(),但它不是有效选项。
我也无法通过使用“运行SQL”命令在&中键入行来将它们手动输入到表中。 由于它已将db文件存储在根文件夹和调试文件夹中,有人说这很常见,并将属性更改为“从不复制”或其他内容-无论如何,我将在2016年完成它! 希望有什么会起作用。
最好,D
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.