【发布时间】:2019-07-04 03:46:17
【问题描述】:
我目前正在将一个已经建立的网站从旧的 ASP.NET 迁移到 ASP.NET Core 2.2。该数据库是跨其他平台的共享数据库,并且也已建立,因此我不能只更改它的任何内容。
当我不得不从 EF Core 调用一个存储过程时,我遇到了这个问题,该存储过程返回 3 个结果集。存储过程的结果集是这样的。
表 1
ColumnName1 | ColumnName2 | SomeColumn | AndMoreColumns
------------+-------------+------------+---------------
Value1 | value 2 | value 3 | Value 4
表 1
Column1 | Column2
-----------+----------
value1 | value 2
表 3
Column1
-------
Value1
表 1 和表 2 相互关联。此表将始终返回表 1 上的 1 行,表 2 可以返回多行,而表 3 是静态的。
现在,我的问题是。如何将此结果集映射到 EF Core Query<T> 模型构建器?我想按列名映射它,因为我想让列名更友好。我有一个不起作用的例子是这样的。
modelBuilder.Query<MyModel>(a =>
{
a.Property(b=>b.ModelId).HasColumnName("ColumnName1");
a.Property(b=>b.ModelName).HasColumnName("ColumnName2");
...
});
但不幸的是,上述映射不起作用。尤其是第二张桌子。
【问题讨论】:
标签: c# asp.net-core entity-framework-core