我有一个查询表(TableA)的sql,并通过表连接添加additonal infos(列)。我希望这个sql由ef(DbContext.Database.SqlQuery)执行,结果映射到自动生成的类(TableA),并在位于单独文件中的分部类中添加了附加属性。我试过了使用数据注释[列("名称")]但新列不会被映射。我该如何解决这个问题?
这里有更多细节:
此代码有效,所有字段都已映射:
string sql =
"SELECT ta.* FROM TableA ta
LEFT OUTER JOIN TableB tb
ON ta.SomeID = tb.SomeID
WHERE tb.SomeCol > 1";
var list = DbContext.Database.SqlQuery<TableA>(sql).ToList();
此代码有效,但未映射其他字段: string sql =
"SELECT ta.*, tb.SomeOtherCol1, tb.SomeOtherCol2 FROM TableA ta
LEFT OUTER JOIN TableB tb
ON ta.SomeID = tb.SomeID
WHERE tb.SomeCol > 1";
var list = DbContext.Database.SqlQuery<TableA>(sql).ToList();
我已经像这样扩展了部分类TableA。
public partial class TableA
{
[Column("SomeOtherCol1")]
public string SomeOtherCol1 { get; set; }
[Column("SomeOtherCol2")]
public string SomeOtherCol2 { get; set; }
}