Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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传入两个参数的查询实体_C#_Linq_Entity Framework - Fatal编程技术网

C# linq传入两个参数的查询实体

C# linq传入两个参数的查询实体,c#,linq,entity-framework,C#,Linq,Entity Framework,我使用以下代码返回表中的特定实体的方法无效: private static EntityModel.Name GetNameEntity(EntityModel.MultiIndexEntities context, int skipCount) { EntityModel.Name entity = context.Names .OrderBy(r => r.EntityId

我使用以下代码返回表中的特定实体的方法无效:

     private static EntityModel.Name GetNameEntity(EntityModel.MultiIndexEntities context, int skipCount)
    {
        EntityModel.Name entity = context.Names
                                        .OrderBy(r => r.EntityId)
                                        .Skip(skipCount)
                                        .FirstOrDefault();

        return entity;
    }
现在,我想进一步完善这个。表中的每个实体都有一个唯一的ID值和类型值。我想做的是重写我的方法,允许我传入这些值并返回那个实体

一般来说,我对linq和实体框架都是新手,到目前为止,这是我的attmpt:

   private static EntityModel.Entity GetEntity(EntityModel.MultiIndexEntities context, int registrationTypeId, string name)
    {
        EntityModel.RegistrationType registrationType = context.RegistrationTypes
                                                           .Where(p => p.RegistrationTypeId == registrationTypeId)
                                                           .Where(p => p.Description == name);


        return registrationType;
    }
正如我所说,我不知道我在做什么。有人能帮我吗?

您可以更改为:

context.RegistrationTypes
       .Where(p => p.RegistrationTypeId == registrationTypeId && p.Description == name)
       .FirstOrDefault();


如果
RegistrationTypeId
是表的标识,则查找具有该标识的实体只需执行以下操作

context.RegistrationTypes.Find(registrationTypeId);
如果不是的话,Farhad的代码会做你想做的事情,但是从你正在做的事情来看。。您应该考虑重新设计,因为它看起来可能会使事情过于复杂

context.RegistrationTypes.Find(registrationTypeId);