我正在查询一个Entity Framework Code First数据库,该数据库有两个独立的表,这些表连接了主键(Property1)和外键(PropertyX)。
我想返回<List>MyObject1
,但只将MyObject1
的一个属性更改为属性MyObect2
的属性
这是我的代码:
var myQuery =
from o1 in _db.MyObject1
join o2 in _db.MyObject2 on o1.fkProperty10 equals o2.pkPropertyX //join foreign key to primary key
where o2.PropertyY != null
select o1;
var myList = await myQuery.ToListAsync();
这会返回MyObject1
然后,我想在MyObject1
MyObject2
的一个属性值
var myQuery =
from o1 in _db.MyObject1
join o2 in _db.MyObject2 on o1.fkProperty10 equals o2.pkPropertyX
where o2.PropertyY != null
select new MyObject1Type {
Property1 = o1.Property1,
Property2 = o1.Property2,
Property3 = o1.Property3
...
Property98= o1.Property98,
Property99= o2.PropertyZ
}
;
var myList = await myQuery.ToListAsync();
MyObject1
有100个属性,因此我不想一次设置1个属性。
我想用简写类型语法来说o1=o1
;
应该看起来像:
var myQuery =
from o1 in _db.MyObject1
join o2 in _db.MyObject2 on o1.fkProperty10 equals o2.pkPropertyX
where o2.PropertyY != null
select new MyObject1Type {
[this object]=o1,
Property99= o2.PropertyZ
}
;
var myList = await myQuery.ToListAsync();
如果我使用
select new MyObject1Type {
this=o1,
Property99= o2.PropertyZ
}
我收到了错误。
CS1604无法分配给'this',因为它是只读的..DNX 4.5.1 cs
如何修复上述代码?
如何设置一个属性,但保持所有其他属性与MyObject1
相同?