我正在使用EF 4.1和SQL Server 2008以及生成我的模型pocos的ADO.net DBContext生成器。我有一个包含2个计算列的数据库表,在我的edmx文件中,映射的属性都为StoreGenerationPattern选项设置了“Computed”。然而,当我插入一个实体如下
MyDbContext.Events.Add(oEvent);
MyDbContext.SaveChanges();
它生成一个SQL插入语句,尝试将空值插入到计算列中。
有人知道发生了什么事吗?
答案 0 :(得分:1)
好的,我现在已经怀疑这一点,归结为我对EF如何工作的无知。我传递了我的DbContext一个普通的ADO.net连接字符串,它似乎将其翻转为代码优先模式。因此,我的edmx模型中的任何设置和配置都被忽略,并且它正在寻找模型类的属性。一旦我将其更改为使用包含对模型元数据文件的引用的EF字符串,它就可以工作。现在似乎显而易见,不知道我如何期望它神奇地了解模型元数据。