C# 将字符串转换为长类型并在asp.net MVC 5 C中的linq查询中使用#
如何在linq查询中将字符串转换为长类型 我当前的代码给了我以下错误 LINQ to Entities无法识别方法“Int64到Int64(System.String)”方法,因此无法转换此方法 转换为存储表达式 我的代码如下所示C# 将字符串转换为长类型并在asp.net MVC 5 C中的linq查询中使用#,c#,linq,asp.net-mvc-5,entity-framework-5,C#,Linq,Asp.net Mvc 5,Entity Framework 5,如何在linq查询中将字符串转换为长类型 我当前的代码给了我以下错误 LINQ to Entities无法识别方法“Int64到Int64(System.String)”方法,因此无法转换此方法 转换为存储表达式 我的代码如下所示 var query = (from _employerdetails in _entities.Organisations select new EmployerDetails {
var query = (from _employerdetails in _entities.Organisations
select new EmployerDetails
{
Id = _employerdetails.Id,
RefNo = _employerdetails.Refno,
Surname = _employerdetails.Surname,
TradingName = _employerdetails.TradingName,
CompanyRegistrationNumber = _employerdetails.CompanyRegistrationNumber,
PhysicalAddress = _employerdetails.BusAddr1,
PostalAddress = _employerdetails.BusPostalAddr1,
Status = _employerdetails.Status,
SETACode = _employerdetails.SetaCode,
TransactionDate = ( from _lasttransaction in _entities.LevyTransactions
where Convert.ToInt64(_lasttransaction.OrgId) ==_employerdetails.Id
select _lasttransaction.TransactionDate).Max()
});
请帮帮我。您可以尝试在查询之外进行转换
long OrgId = Convert.ToInt64(_lasttransaction.OrgId);
因此,您的查询将如下所示
var query = (from _employerdetails in _entities.Organisations
select new EmployerDetails
{
Id = _employerdetails.Id,
RefNo = _employerdetails.Refno,
Surname = _employerdetails.Surname,
TradingName = _employerdetails.TradingName,
CompanyRegistrationNumber = _employerdetails.CompanyRegistrationNumber,
PhysicalAddress = _employerdetails.BusAddr1,
PostalAddress = _employerdetails.BusPostalAddr1,
Status = _employerdetails.Status,
SETACode = _employerdetails.SetaCode,
TransactionDate = ( from _lasttransaction in _entities.LevyTransactions
where OrgId ==_employerdetails.Id
select _lasttransaction.TransactionDate).Max()
});
您可以尝试在查询之外进行转换
long OrgId = Convert.ToInt64(_lasttransaction.OrgId);
因此,您的查询将如下所示
var query = (from _employerdetails in _entities.Organisations
select new EmployerDetails
{
Id = _employerdetails.Id,
RefNo = _employerdetails.Refno,
Surname = _employerdetails.Surname,
TradingName = _employerdetails.TradingName,
CompanyRegistrationNumber = _employerdetails.CompanyRegistrationNumber,
PhysicalAddress = _employerdetails.BusAddr1,
PostalAddress = _employerdetails.BusPostalAddr1,
Status = _employerdetails.Status,
SETACode = _employerdetails.SetaCode,
TransactionDate = ( from _lasttransaction in _entities.LevyTransactions
where OrgId ==_employerdetails.Id
select _lasttransaction.TransactionDate).Max()
});
您应该将
\u lasttransaction.OrgId
保存在适当的变量中
(通过转换:*,因为它是字符串,所以我更喜欢TryParse
,而不是直接转换,例如:Int64.TryParse(string,Int64)
)
就在这个查询之前,然后在LINQ查询中使用这个变量,而不是直接使用
lasttransaction
的属性,因为它在从字符串转换为Long时会导致问题您应该将\u lasttransaction.OrgId
保留在适当的变量中
(通过转换:*,因为它是字符串,所以我更喜欢TryParse
,而不是直接转换,例如:Int64.TryParse(string,Int64)
)
就在这个查询之前,然后在LINQ查询中使用这个变量,而不是直接使用
lasttransaction
的属性,因为在从字符串转换为Long时,它会导致问题它的可能重复给我同样的错误。LINQ to Entities无法识别方法“Int64到Int64(System.String)”方法,并且此方法无法转换为存储表达式。它会给我相同的错误。LINQ to Entities无法识别方法“Int64 to Int64(System.String)”方法,并且此方法无法转换为存储表达式Tripathis如何在外部调用_lasttransaction,因为它在TransactionDate内部声明。你能给我举个例子吗?Tripathis这是如何在外部调用_lasttransaction的,因为它在TransactionDate内部声明。你能给我举个例子吗。