【发布时间】:2015-08-05 04:50:45
【问题描述】:
我正在处理一些具有大量属性的大型类,我不想忽略所有我不想保存到数据库中的属性。相反,是否有忽略所有属性并仅指定我想要的属性?
所以不是这个
protected override void OnModelCreating(DbModelBuilder mb)
{
// code to ignore properties i don't want one at a time, i.e.
mb.Entity<Person>().Ignore(i => i.Name);
mb.Entity<Person>().Ignore(i => i.Birthday);
}
我会的
protected override void OnModelCreating(DbModelBuilder mb)
{
// code to ignore all properties
// code to include only properties I want
}
【问题讨论】:
-
您能否提供一些关于为什么这是一个问题的背景信息?换句话说,您如何保存使您想以这种方式忽略属性的数据?
-
仅在视图模型中忽略属性可能是一种可能的解决方法。在模型中包含必要的属性并在视图模型中具有所有属性(具有忽略的属性)
-
@BrendanGreen 我正在使用 ebay SDK。有很多类,它们有很多属性,没有一个指定键。我只想将少量数据保存到数据库中。只能够选择我想要的而不是忽略我不想要的一切会节省很多时间。
-
这是否意味着您刚刚在 SDK 之后直接对数据库进行了建模?也许我在这里遗漏了一些东西,但是如果您想忽略所有这些属性,那么只需将它们从您的数据模型中删除即可。或者,如前所述(假设这是一个 Web 应用程序),使用视图模型在控制器和视图之间传递数据,您根本不必处理不需要的字段。
-
@BrendanGreen 是的,我已经根据 SDK 对数据库进行了建模。抱歉,我是 EF 新手,你说从我的数据模型中删除我不想要的那些是什么意思?
标签: c# entity-framework code-first ef-fluent-api