【发布时间】:2017-01-17 09:15:18
【问题描述】:
在执行以下查询时,我收到错误:-
public MioLMOrderConfirmAddress GetAddress(long headerId,int addressCategory)
{
using (var c = new TenantEntities(_tenantConString))
{
var data =
c.MioLMOrderConfirmAddresses.FirstOrDefault(
x => x.MioLMOrderConfirmHeaderId == headerId && x.AddressCategoryId == addressCategory);
return data;
}
}
错误:
附加信息:具体化的指定演员表 'System.Int32' 类型到 'System.Int64' 类型无效。
我的模型课在这里
public partial class MioLMOrderConfirmAddress
{
public long Id { get; set; }
public long MioLMOrderConfirmHeaderId { get; set; }
public Nullable<long> MioLMOrderConfirmLineId { get; set; }
public int AddressCategoryId { get; set; }
public string FullAddress { get; set; }
public string StreetName { get; set; }
public string AdditionalStreetName { get; set; }
public string CityName { get; set; }
public string PostalZone { get; set; }
public string CountrySubEntity { get; set; }
public string CountryCode { get; set; }
public string BuildingNumber { get; set; }
public string AddressFormatCode { get; set; }
public string AddressTypeCode { get; set; }
public string BlockName { get; set; }
public string BuildingName { get; set; }
public string CitySubDivisionName { get; set; }
}
如何解决这个错误?
这是 MioLMOrderConfirmAddress 表的截图 MioLMOrderConfirmAddress Table
【问题讨论】:
-
尝试
x => x.MioLMOrderConfirmHeaderId == Convert.ToInt64(headerId)或将headerId参数重新声明为long -
在数据库中是
MioLMOrderConfirmHeaderId和int还是AddressCategoryId和bigint? -
@Tim 'MioLMOrderConfirmHeaderId 是 'bigint' 而 'AddressCategoryId ' 是 'int'
-
可能由于其他任何属性而引发异常。请发布表架构和 full 异常,包括其调用堆栈。这将显示异常实际发生的位置。您可以使用
Exception.ToString()获得完整的例外情况。至少发布数字属性的数据库类型 - 其中一个可能不是bigint,或者它是返回int的某个表达式的结果
标签: c# asp.net-mvc entity-framework linq