.NET Core 2.2 - 实体框架 - 自定义分配 [NotMapped] 模型属性,带 DbSet.FromSq



我有一个.NET Core 2.2 API项目。我正在尝试使用自定义属性设置一个 EF Model 类,这些属性不直接映射到表中的字段,通常会NULL,但在单个实例中将自定义分配。

这是(概念上(我的模型:

public class SomeObject {
[Key]
public int ID { get; set; }
[NotMapped]
public string CustomField1 { get; set; }
[NotMapped]
public string CustomField2 { get; set; }
}

在代码的其他地方,我基本上是这样的:

return SomeObjects
.FromSql($@"select *, <custom mapping here> as CustomField1, <custom mapping here> as CustomField2 from [table name]")

我希望映射器能根据字段名称匹配在引擎盖下弄清楚,但这不起作用。

或者,我希望在Ruby on Rails或Laravel中使用map()方法,在那里我可以做这样的事情:

return SomeObjects
.FromSql($@"select *, <custom mapping here> as CustomField1, <custom mapping here> as CustomField2 from [table name]")
.Map( o => { o.CustomField1 = CustomField1, o.CustomField2 = CustomField2 });

如果它存在并且我只是想念它,我不会感到惊讶。我无法找到任何关于它的文档,但也许我只是没有在谷歌上搜索正确的东西。

思潮?

尝试使用从实体类型继承的其他CustomFieldX属性定义子类型,SomeObjects以利用公共属性和映射。 我讨厌硬编码SQL(破坏ORM的主要目的之一(,并且更喜欢可以将子类型映射到的视图或存储过程。

相关内容

  • 没有找到相关文章

最新更新