草庐IT

PersonID

全部标签

sql - 为什么子查询会导致扫描而静态列表不会?

我有一个包含子查询的查询,它总是导致对非常大的表进行扫描,从而导致查询时间很短。这是我正在使用的查询:SELECTPersonIdFROMpersonWHEREPersonIdIN(SELECTPersonIdFROMrelationshipWHERERelatedToPersonId=12270351721);查询计划报告为:SCANTABLEperson(~100000rows)EXECUTELISTSUBQUERY1SEARCHTABLErelationshipUSINGINDEXrelationship_RelatedToPersonId_IDX(RelatedToPerson

sql - 为什么子查询会导致扫描而静态列表不会?

我有一个包含子查询的查询,它总是导致对非常大的表进行扫描,从而导致查询时间很短。这是我正在使用的查询:SELECTPersonIdFROMpersonWHEREPersonIdIN(SELECTPersonIdFROMrelationshipWHERERelatedToPersonId=12270351721);查询计划报告为:SCANTABLEperson(~100000rows)EXECUTELISTSUBQUERY1SEARCHTABLErelationshipUSINGINDEXrelationship_RelatedToPersonId_IDX(RelatedToPerson

c# - 在类中包装一个简单类型有什么好处?

我正在查看本质上传递id的代码,例如:GetPersonById(intpersonId)但它没有使用int,而是使用了PersonId对象。GetPersonById(PersonIdpersonId)PersonId对象只是一个带有一些手动代码以使其可为空的int。那么,这是在可空整数不可用时在旧.NET中创建的,还是在类中包装简单类型有更高的目的?publicsealedclassPersonId{privatePersonId(){_isNull=true;_value=0;}privatePersonId(intvalue){_isNull=false;_value=valu

c# - 在类中包装一个简单类型有什么好处?

我正在查看本质上传递id的代码,例如:GetPersonById(intpersonId)但它没有使用int,而是使用了PersonId对象。GetPersonById(PersonIdpersonId)PersonId对象只是一个带有一些手动代码以使其可为空的int。那么,这是在可空整数不可用时在旧.NET中创建的,还是在类中包装简单类型有更高的目的?publicsealedclassPersonId{privatePersonId(){_isNull=true;_value=0;}privatePersonId(intvalue){_isNull=false;_value=valu

c# - 如何将 SQL 中的多个内部联接转换为 LINQ?

我已经掌握了LINQ-to-SQL的基础知识,但我一直在努力让JOIN正常工作。我想知道如何将以下内容转换为LINQ-to-SQL(最好使用方法链接,因为这是我的首选格式)。SELECTc.CompanyId,c.CompanyName,p.FirstName+''+p.LastNameasAccountCoordinator,p2.FirstName+''+p2.LastNameasAccountManagerFROMdbo.CompaniescINNERJOINdbo.PersonspONc.AccountCoordinatorPersonId=p.PersonIdINNERJOI

c# - 如何将 SQL 中的多个内部联接转换为 LINQ?

我已经掌握了LINQ-to-SQL的基础知识,但我一直在努力让JOIN正常工作。我想知道如何将以下内容转换为LINQ-to-SQL(最好使用方法链接,因为这是我的首选格式)。SELECTc.CompanyId,c.CompanyName,p.FirstName+''+p.LastNameasAccountCoordinator,p2.FirstName+''+p2.LastNameasAccountManagerFROMdbo.CompaniescINNERJOINdbo.PersonspONc.AccountCoordinatorPersonId=p.PersonIdINNERJOI

c# - 无法创建类型的常量值在此上下文中仅支持原始类型或枚举类型

我收到以下查询的错误UnabletocreateaconstantvalueoftypeAPI.Models.PersonProtocol.Onlyprimitivetypesorenumerationtypesaresupportedinthiscontext下面的ppCombined是一个PersonProtocolType的IEnumerable对象,由2个PersonProtocol列表拼接而成。为什么会失败?我们不能在JOIN的SELECT中使用LINQJOIN子句吗?varpersons=db.Favorites.Where(x=>x.userId==userId).Joi

c# - 无法创建类型的常量值在此上下文中仅支持原始类型或枚举类型

我收到以下查询的错误UnabletocreateaconstantvalueoftypeAPI.Models.PersonProtocol.Onlyprimitivetypesorenumerationtypesaresupportedinthiscontext下面的ppCombined是一个PersonProtocolType的IEnumerable对象,由2个PersonProtocol列表拼接而成。为什么会失败?我们不能在JOIN的SELECT中使用LINQJOIN子句吗?varpersons=db.Favorites.Where(x=>x.userId==userId).Joi

c# - 在 LINQ 中分组

假设我们有这样一个类:classPerson{internalintPersonID;internalstringcar;}我有这个类的列表:Listpersons;并且这个列表可以有多个具有相同PersonID的实例s,例如:persons[0]=newPerson{PersonID=1,car="Ferrari"};persons[1]=newPerson{PersonID=1,car="BMW"};persons[2]=newPerson{PersonID=2,car="Audi"};有没有一种方法可以按PersonID分组?并获得他拥有的所有汽车的list?例如,预期的结果是c

c# - 在 LINQ 中分组

假设我们有这样一个类:classPerson{internalintPersonID;internalstringcar;}我有这个类的列表:Listpersons;并且这个列表可以有多个具有相同PersonID的实例s,例如:persons[0]=newPerson{PersonID=1,car="Ferrari"};persons[1]=newPerson{PersonID=1,car="BMW"};persons[2]=newPerson{PersonID=2,car="Audi"};有没有一种方法可以按PersonID分组?并获得他拥有的所有汽车的list?例如,预期的结果是c