我正在尝试使用Entity Framework创建一个基本示例来将SQL Server存储过程的输出映射到C#中的实体,但该实体具有不同(友好)的名称参数,而不是更隐蔽的名称.我也试图用Fluent(即非edmx)语法来做这件事.
什么有用......
存储过程返回名为:UT_ID,UT_LONG_NM,UT_STR_AD,UT_CITY_AD,UT_ST_AD,UT_ZIP_CD_AD,UT_CT的值
如果我创建这样的对象......
public class DBUnitEntity
{
public Int16 UT_ID { get; set; }
public string UT_LONG_NM { get; set; }
public string UT_STR_AD { get; set; }
public string UT_CITY_AD { get; set; }
public string UT_ST_AD { get; set; }
public Int32 UT_ZIP_CD_AD { get; set; }
public string UT_CT { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
和像这样的EntityTypeConfiguration ......
public class DbUnitMapping: EntityTypeConfiguration<DBUnitEntity>
{
public DbUnitMapping()
{
HasKey(t => t.UT_ID);
}
}
Run Code Online (Sandbox Code Playgroud)
...我在DbContext的OnModelCreating中添加,然后我可以从数据库中获取实体,这很好,使用此....
var allUnits = _context.Database.SqlQuery<DBUnitEntity>(StoredProcedureHelper.GetAllUnitsProc); …Run Code Online (Sandbox Code Playgroud)