cgr*_*aus 7 entity-framework ef-code-first
我们已经将现有数据库转换为使用EF,因此我们编写类来映射到我们的表.我添加了一个新列,一个名为'iframeVideoId'的可空int.我用它绘制了它
public int? iframeVideoId { get; set; }
Run Code Online (Sandbox Code Playgroud)
当我搜索那张桌子的时候,它爆炸了
无效的列名称'错误
.这是一个简单的属性,它不是索引或与任何其他表相关.我尝试将它在DB中重命名为' DisplayVideo',并使其不可为空.然后我有
[Column("DisplayVideo")]
public int iframeVideoId { get; set; }
Run Code Online (Sandbox Code Playgroud)
现在我收到DisplayVideo不是有效列的错误.当然,我已经仔细检查过我指向正确的数据库,并确认我的代码COULD指向的每个数据库都有此列.我也做了一个干净的重建,并重新启动了我的机器.可能有什么不对?这是一个基本专栏,它就在那里.我从过去的经验中知道,如果类型不匹配(它们都是int),我会得到与类型之间转换失败相关的错误.这对我来说毫无意义.我没有要刷新的edmx文件,因为我们正在编写类来直接映射到DB
只是添加,我将列更改为字符串,它没有任何区别.这是一个新的专栏,具有简单的价值,EF声称它不存在.
并且,我将列添加到另一个表(显然是次优的),并且它立即工作.我仍然想知道为什么我有一个表我不能在EF中添加列
小智 2
我的映射类在复制/粘贴情况下出现错误。如您所见,将TransferredToEVP映射到 3 个不同的列。我在最后一列TranferredToGUID上收到“无效的列名称”,但正在寻找TranferredToGUID1。希望这可以帮助。
this.Property(t => t.TransferredToEVP).HasColumnName("TransferredToEVP");
this.Property(t => t.TransferredToEVP).HasColumnName("TransferredToName");
this.Property(t => t.TransferredToEVP).HasColumnName("TransferredToGUID");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19849 次 |
| 最近记录: |