我正在使用:
我现在已经在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文件混在一起....所以任何帮助都会非常感激(例如,链接到一篇文章,涵盖这个相当奇怪的问题。)
答案 0 :(得分:1)
您创建了对象,但实际上并未将其实际添加到数据上下文中。像这样:
var cl = new Client();
cl.ClientFirstName = "XXXXX";
cl.ClientLastName = "XXXXX";
tb.Clients.Add(cl); // <-- add the entity to the context
tB.SaveChanges();
否则没有任何内容将cl
链接到数据上下文,它只是一个内存中的对象,就像其他任何内容一样。
答案 1 :(得分:0)
如果您正在使用EF(主要是DB第一种方法),那么您的DB上下文类已经有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();
}
答案 2 :(得分:0)
在数据库中将 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();
}
如果没有标识列,我将无法在DB中插入
答案 3 :(得分:0)
感谢大家的意见。 我试图使用.Add()但它没有作为有效选项。
我也无法通过在&amp;中键入行来手动输入行。使用Run SQL命令。因为它将db文件存储在根文件和调试文件夹中,有人说这是常见的,并且将属性更改为“永不复制”或者其他东西 - 无论如何,我将在2016年完成它!希望有些东西可行。
最佳, d