【发布时间】:2014-09-18 09:22:29
【问题描述】:
我正在使用实体框架和数据库优先方法。
我已经使用部分类成功添加了自定义方法,但是发现如果我添加了一个自定义字段,当我的实体下一次从DataContext 中拉出时它不会持久化(同时实体没有提交到数据库) .我需要使用此字段进行处理,但我不需要或不希望将其存储在我的数据库中。
public partial class MyEntity
{
public decimal MyCustomField;
}
这是为什么?我怎样才能绕过它?
谢谢
【问题讨论】:
-
您使用的是数据库优先方法,然后更新数据库以添加列
alter table add column .. etc,然后转到 edmx 图,右键单击,从数据库更新模型 -
感谢您的评论,尽管我在问题中确实提到我不想将此字段存储在我的数据库中。所以这不是一个合适的答案。
-
这不是答案,而是评论,您不想将此字段存储在数据库中,您已经这样做了,字段不会保存到数据库中,只有公共属性(即映射到相关的 SSDL)
-
关于您的评论 “这些值一直保存在 DataContext 中,直到将更改提交到数据库。这就是我想要的所有持久性” - 这是真的,直到实体从数据库中重新加载。然后您的非映射属性修改将丢失并重置为默认值。请显示相关代码和流程,以便我们回答您的实际问题。
标签: c# entity-framework custom-fields partial-classes