【问题标题】:How to get IQueryable.ToList() with database fieldnames instead of entity properties如何使用数据库字段名而不是实体属性获取 IQueryable.ToList()
【发布时间】:2014-03-04 18:10:01
【问题描述】:

场景:

  1. 我有相当数量的实体作为 CodeFirst 中的模型映射到具有属性 [Column("str")] 的数据库字段名。

  2. 我有一堆报告服务报告(本地模式),其中的数据集映射到数据库字段名称。

由于字段名称的原因,我无法使用 ToList() 方法将 linq 查询的直接结果传递给那些报告。我能做的(我试图避免)是为每个对象输入select new;或通过不同的数据源运行每个查询。

问题:

我想知道使用 original 字段名称而不是属性名称的 IQueryable 对象是否有任何技巧。类似于动态select new

任何建议将不胜感激。

【问题讨论】:

  • 看看这个有帮助:stackoverflow.com/questions/755826/…
  • 谢谢,但这与我所做的没有什么不同。我只是想知道 EntityFramework 是否有一个技巧来检索原始字段名称而不是实体属性。
  • 不,没有。数据库列名称必须与属性名称匹配,或者您必须使用Column 属性使它们对齐。这是你唯一的选择。
  • 谢谢@ChrisPratt。我认为您应该将其发布为答案。

标签: asp.net-mvc linq entity-framework reporting-services linq-to-entities


【解决方案1】:

不,没有。数据库列名称必须与属性名称匹配,或者您必须使用Column 属性使它们对齐。这是你唯一的选择。

【讨论】:

  • 我有一个不常见的情况,无论如何都必须避免。谢谢。
猜你喜欢
  • 1970-01-01
  • 2020-10-05
  • 2011-10-09
  • 2017-12-05
  • 1970-01-01
  • 1970-01-01
  • 2019-11-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多