Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.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# &引用;没有支持的到SQL的转换;从linq语句中提取方法后_C#_Linq - Fatal编程技术网

C# &引用;没有支持的到SQL的转换;从linq语句中提取方法后

C# &引用;没有支持的到SQL的转换;从linq语句中提取方法后,c#,linq,C#,Linq,我有以下linq声明: public IEnumerable<EventModel> GetList( EnumEventCategory? category = null, EnumEventType? type = null) { var listDB = from e in this.DataContext.Event join i in this.DataContext.Identifier on e.ID equals

我有以下linq声明:

 public IEnumerable<EventModel> GetList(
     EnumEventCategory? category = null,
     EnumEventType? type = null)
 {
      var listDB = from e in this.DataContext.Event
          join i in this.DataContext.Identifier on e.ID equals i.ID
          orderby e.Deadline, e.ID descending
          select new EventModel
          {
           ID = i.ID,
           IdentifierStatus = i.IdentifierStatus,
           IdentifierType = i.IdentifierType,
           EventCategory = e.EventCategory,
           EventType = e.EventType,
          };

      if (category != null && category != EnumEventCategory.Unknown)
      {
        listDB = listDB.Where(x => x.EventCategory == category);
      }

      if (type != null && type != EnumEventType.Unknown)
      {
        listDB = listDB.Where(x => x.EventType == type);
      }

      return listDB;
 }

有什么想法吗?

(仔细检查后重新编写)没有,那不行,你必须选择新的。将该方法作为一个ctor添加到EventModel类中,它将开始工作。谢谢Alex。我试过了,但没用。
 public IEnumerable<EventModel> GetList(
     EnumEventCategory? category = null,
     EnumEventType? type = null)
 {
     var listDB = from e in this.DataContext.Event
                  join i in this.DataContext.Identifier on e.ID equals i.ID
                  orderby e.Deadline, e.ID descending
                  select EventModel(i, e);

      if (category != null && category != EnumEventCategory.Unknown)
      {
          listDB = listDB.Where(x => x.EventCategory == category);
      }

      if (type != null && type != EnumEventType.Unknown)
      {
          listDB = listDB.Where(x => x.EventType == type);
      }
      return listDB;
 }

private static EventModel EventModel(Identifier i, Event e)
{
    return new EventModel
    {
        ID = i.ID,
        IdentifierStatus = i.IdentifierStatus,
        IdentifierType = i.IdentifierType,
        EventCategory = e.EventCategory,
        EventType = e.EventType,
     };
 }