C# Linq编辑结果,无需重建(.AsEnumerable())体

C# Linq编辑结果,无需重建(.AsEnumerable())体,c#,linq,C#,Linq,我有linq查询,但很多时候我需要像上面那样用一些外部方法编辑属性,它会给出预期的结果,但问题是它看起来太脏了,尽管我需要编辑一列,但我需要重建整个对象体,如下图所示 我怎样才能使它更好看 你认为最有效的方法是什么 实现这一目标 有没有办法不复制的上下文 编辑上下文 (我觉得1个答案涵盖了所有这些问题) 选项1: 通过只选择表,可以使代码看起来更好 select new { islem = islem, hasta = hasta, } 选项2: 根据您的模式,可能通过使用(

我有linq查询,但很多时候我需要像上面那样用一些外部方法编辑属性,它会给出预期的结果,但问题是它看起来太脏了,尽管我需要编辑一列,但我需要重建整个对象体,如下图所示

  • 我怎样才能使它更好看

  • 你认为最有效的方法是什么 实现这一目标

  • 有没有办法不复制的上下文 编辑上下文
  • (我觉得1个答案涵盖了所有这些问题)


    选项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));
            }   
        }
    }