C# Linq编辑结果,无需重建(.AsEnumerable())体
我有linq查询,但很多时候我需要像上面那样用一些外部方法编辑属性,它会给出预期的结果,但问题是它看起来太脏了,尽管我需要编辑一列,但我需要重建整个对象体,如下图所示C# Linq编辑结果,无需重建(.AsEnumerable())体,c#,linq,C#,Linq,我有linq查询,但很多时候我需要像上面那样用一些外部方法编辑属性,它会给出预期的结果,但问题是它看起来太脏了,尽管我需要编辑一列,但我需要重建整个对象体,如下图所示 我怎样才能使它更好看 你认为最有效的方法是什么 实现这一目标 有没有办法不复制的上下文 编辑上下文 (我觉得1个答案涵盖了所有这些问题) 选项1: 通过只选择表,可以使代码看起来更好 select new { islem = islem, hasta = hasta, } 选项2: 根据您的模式,可能通过使用(
选项1: 通过只选择表,可以使代码看起来更好
select new
{
islem = islem,
hasta = hasta,
}
选项2:
根据您的模式,可能通过使用(EF仍将在幕后进行db连接)完全避免显式连接(因此中间模型也是如此)
选项3:
也可以在模型上添加辅助对象属性
class MyModel
{
public int KurumAdi
{
...
get
{
return getKurumAdiByKod(Convert.ToInt32(this.KurumKodu));
}
}
}
someEntity
来自哪里,连接的目的是什么?实际上,您并没有使用hasta
执行任何操作。另外,什么类型的islem
是myCustomModel
?为什么要投影到匿名类型,然后投影到myNewCustomModel
?只需在第一个select
中直接投影到myCustomModel
。第三个类似于dbContext中islem的语句对我来说似乎不太常见。我通常希望从DbContext
中的DbSet
s进行查询,而不是从DbContext
itself@SamIam我需要一个自定义类对象,它包含两个实体的一些属性,所以我将它们连接起来
class MyModel
{
public int KurumAdi
{
...
get
{
return getKurumAdiByKod(Convert.ToInt32(this.KurumKodu));
}
}
}