我有一个存储过程,它以下表的形式返回数据
ID int null,
RestaurentName varchar(250),
Address nvarchar(150),
Area nvarchar(150),
City nvarchar(50),
Postcode nvarchar(50),
DeliveryPrice decimal(4,2),
DeliveryTime nvarchar(50),
Latitude nvarchar(50),
Longitude nvarchar(50),
LogoLocation nvarchar(50),
Rating float,// returns AVG of rating
Discount money
我在我的 EF 中做了一个函数导入。现在,当我运行该站点时,出现以下错误
'SearchRestaurantByKey_Result' 上的 'Rating' 属性无法设置为 'Double' 值。您必须将此属性设置为“十进制”类型的非空值。
有谁知道如何解决这个问题?
编辑: 这是我遇到错误的地方:
var query = (from p in dc.GetRestaurantByAreaAndCategory(area,type)
select new RestaurantViewModel()
{
Name = p.RestaurentName,
Address = p.Address,
City = p.City,
Postcode = p.Postcode,
ID = Convert.ToInt32(p.ID),
LogoPath = p.LogoLocation,
DeliveryPrice = Convert.ToDecimal(p.DeliveryPrice),
DeliveryTime = p.DeliveryTime,
discount = p.Discount,
Rating=Convert.ToDouble(p.Rating) //here is the error.
}).ToList();
在 RestaurantViewModel() 中,rating 属性为 Double。