【发布时间】:2012-10-23 15:23:30
【问题描述】:
EntityFramework 4.3.1.
计算应该存储在数据库中但不打算从数据库中检索的属性的最佳方法是什么? 例如
[Column("SOME_COLUMN")]
public ulong SomeColumn
{
get { return /*calculate here*/; }
}
我希望在保存到 db 时保留该值。但是当然 - 当我从 db 加载时没有得到更新。我可以在旁边放一个空设置器...但是当列为 Key 时它似乎不起作用。
我可以有这样一个键列吗?
现在我收到此错误:
EntityFramework 错误:作为对象键一部分的属性值与存储在 ObjectContext 中的相应属性值不匹配。如果作为键的一部分的属性返回不一致或不正确的值,或者在对作为键的一部分的属性进行更改后未调用 DetectChanges,则可能会发生这种情况。
【问题讨论】:
-
如果不应该从数据库中读取计算的属性,您会使用什么?另外,你不能只在数据库中添加一个计算列吗?
-
计算的列用于其他应用程序的进一步处理 - 我的应用程序不需要它们。我无法将计算列添加到数据库 - 不负责。
标签: database entity-framework entity-framework-4 .net-4.0