加入链接中丢失的数据公告 Select

Data Annonation Lost in Joined Linq Select

我有两个表,分别是 master 和 detail。我设置了一些属性,例如: [DisplayName="Customer Name"] 和..... 当我用 Datagridview 源或 Reporting service 源或...填充 selected 列表时,我可以使用属性和它设置我的 header 专栏和许多有用的其他想法。但是如果我想要 Flatt 我的主要细节并编写 linq select 就像:

  var x = from m in master 
  join d in detail on m.id equal d.masterId
  select new {d.Id , d.Name , m.Date, m.Customer}

我无权访问定义的属性。 我能做什么 ? 我不喜欢为每个 select

编写 ViewClass

为此你必须创建一个新的 Modal/ Class Like MasterDetails ,它将保存你想要在页面中查看和应用属性的所有属性在那个新的 MasterDetails class 上,然后写一个新的 linq,比如 .

  var x = from m in master 
  join d in detail on m.id equal d.masterId
  select new  MasterDetails {Id=d.Id ,Name= d.Name ,Date= m.Date,Customer= m.Customer}

希望对你有用。