entity-framework-6 - 如何将 ColumnAttribute 与 Translate 结合使用在 EF6 中?
问题描述
我正在尝试将来自 SP 的响应映射到为特定 SP 自定义的相应模型。SP 使用了我不想在代码中的任何地方看到的列名,因为它们违反了所有标准(甚至拼写错误)。
所以,我尝试创建一个像这样的模型。
public sealed class Product
{
[Column("Id_PRODUCT")]
public int Id {get; set;}
[Column("PruductTilte")]
public string Title {get; set;}
// Column Name = Description
public string Description {get; set;}
}
然后在部分上下文中
public partial class ContosoContext
{
public async Task<Product[]> GetProductsAsync()
{
using (var cmd = Database.Connection.CreateCommand())
{
cmd.CommandText = "GeTpRoDuCtS";
using (var reader = await cmd.ExecuteReaderAsync(CommandBehavior.CloseConnection))
{
return ((IObjectContextAdapter)this)
.ObjectContext
.Translate<Product>(reader)
.ToArray();
// Actually calling reader.NextResult() and doing more translates here (multi-set response).
}
}
}
}
当var products = await new Context().GetProductsAsync()
仅Description
设置执行此操作时,EF6 似乎忽略了ColumnAttribute
.
这不应该工作吗?有什么好的解决办法吗?
解决方案
推荐阅读
- powershell - Pester 5.0.2 BeforeAll 块代码未显示在描述块中
- python - 作为第三方安装时管理命令不显示
- javascript - 如何淡入像这个网址这样的背景图像?
- linux - BlueZ 修改 LE CONNECT_REQ 超时
- ios - 即使只有一项更改,完整列表也会重新创建所有视图
- java - 如何在数据库中存储工作日数据以及开始时间和结束时间?
- python - 如何沿着由 3 个点和一个长度给出的弧移动鼠标?
- php - DateTime::setTime() 期望参数 1 为 int,给定字符串,但在尝试观察时消失
- php - 我可以设置选中或未选中的复选框来读取字符串值吗?
- jenkins - Gitlab Webhooks(同一个 repo 上有 2 个 Webhooks)