C# 无法将“System.Int64”类型的对象强制转换为“System.Int32”类型
在中请求相同类型的字符串时获取错误C# 无法将“System.Int64”类型的对象强制转换为“System.Int32”类型,c#,asp.net-core,core,C#,Asp.net Core,Core,在中请求相同类型的字符串时获取错误 var orderTransferFromDb = await context.OrderTransfer.FirstOrDefaultAsync(t => t.ToMemberMobilePhone.ToUpperInvariant().Equals(mobilePhone.ToUpperInvariant())); public async Task<bool> UpdateOrderTransferToMemberId(string
var orderTransferFromDb = await context.OrderTransfer.FirstOrDefaultAsync(t =>
t.ToMemberMobilePhone.ToUpperInvariant().Equals(mobilePhone.ToUpperInvariant()));
public async Task<bool> UpdateOrderTransferToMemberId(string mobilePhone, string memberid)
{
if (mobilePhone != null)
{
using (var context = ContextManager.ClubContext())
{
var orderTransferFromDb = await context.OrderTransfer.FirstOrDefaultAsync(t => t.ToMemberMobilePhone.ToUpperInvariant().Equals(mobilePhone.ToUpperInvariant()));
if (orderTransferFromDb != null)
{
context.Attach(orderTransferFromDb);
orderTransferFromDb.ToMemberId = memberid;
await context.SaveChangesAsync();
}
return true;
}
}
throw new Exception("MobilePhone is null. (UpdteOrderTransferByEmail)");
}
参数都是字符串,并且在SQL Server NVARCHA13中都是字符串
是什么原因造成的?您的代码没有问题。您需要仔细检查上下文是否与对象正确映射 要比较不带大小写的字符串,请使用
var orderTransferFromDb = await context.OrderTransfer.FirstOrDefaultAsync(t => string.Equals(t.ToMemberMobilePhone, mobilePhone, StringComparison.OrdinalIgnoreCase));
发布您的订单转移model@FarhadZamani string@AmeerPappayDone显示完整的错误消息您正在使用实体框架吗?