Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 联接Linq Select中的数据注释丢失_C#_Linq_Entity Framework 6_Data Annotations - Fatal编程技术网

C# 联接Linq Select中的数据注释丢失

C# 联接Linq Select中的数据注释丢失,c#,linq,entity-framework-6,data-annotations,C#,Linq,Entity Framework 6,Data Annotations,我有两张表作为主表和明细表。我设置了一些属性,如: [DisplayName=“Customer Name”]和。。。。。 当我填写我的数据网格视图源或报告服务源或。。。通过选择列表,我可以使用属性,它可以设置我的标题栏和许多有用的其他内容。但是,如果我想了解我的主要细节并编写linq select,如: var x = from m in master join d in detail on m.id equal d.masterId select new {d.Id , d.N

我有两张表作为主表和明细表。我设置了一些属性,如:
[DisplayName=“Customer Name”]
和。。。。。 当我填写我的数据网格视图源或报告服务源或。。。通过选择列表,我可以使用属性,它可以设置我的标题栏和许多有用的其他内容。但是,如果我想了解我的主要细节并编写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}
我无法访问已定义的属性。 我能做什么?
我不喜欢为每个选择编写ViewClass。为此,您必须创建一个新的模式/类,如MasterDetails,它将保存页面中的所有属性,以便在新的MasterDetails类上查看和应用属性,然后编写一个新的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}

希望它对您有用。

如果我这样做,我必须为我想要的每个视图(或每个连接的选择…想想我的数据是否在两个以上的表中,并且我连接了它们)编写一个ViewClass。为什么属性要dispose?属性没有被dispose,但它只与类对象关联,所以您认为
select new{d.Id,d.Name,m.Date,m.Customer}
的类型是什么?这是一种匿名类型。所以,是的,如果您在视图中使用某种混合数据类型的东西,并且希望使用属性,则必须创建一个新类(ViewClass),