仅映射模型到表字段的特定属性。实体框架

时间:2015-12-23 09:44:17

标签: c# entity-framework entity-framework-6

我没有想法如何以简单的方式实现这个东西。

假设我们有一个类也可以作为数据库表的模型,但是我要求只将几个属性映射到表中的字段。

注释(在模型类属性上使用[NotMapped]注释)方法对我来说不是一个好的方法,我们遵循Fluent API方式......

我知道我可以忽略(p => p.SomeProperty),但它仍然是一个错误的解决方案,因为我有很多属性要忽略。

我一直在考虑使用抽象类或接口的某些模板,其中包含我需要的每个类 - >表关系的属性,并通过反射传递模板和检索EntityTypeConfiguration来处理它们但是对我来说似乎很凌乱的解决方案。

谢谢你, 愿力量与你同在:)

1 个答案:

答案 0 :(得分:1)

你说:

  

我知道我可以忽略(p => p.SomeProperty),但它仍然是一个错误的解决方案,因为我有很多要忽略的属性。

也许首先问问自己为什么你有这么多的属性,也许你的实体应该被分成几个实体?似乎更像是你必须解决一个架构问题而不是技术问题。

我会考虑以下方法之一:

  • 您可以将多个实体映射到同一个表,但每个实体仅包含特定用例中所需的属性。 (专注于单一责任原则)
  • 我不知道您的数据库模型的确切结构,但可能是您可以使用每个层次结构的表模式。
  • 如果以上都不是解决方案,请至少考虑将这些属性分组为复杂类型