我使用Sp生成一些逻辑和返回一个表对象。如果没有找到对象,我只是简单地返回一个实体的null
CREATE proc SpDealerDistributionOracle
(
@DealerCode varchar(50),
@imei varchar(50)
)
as
BEGIN
if (some logic)
select top 1 * from tblBarCodeInv
else
select null;
END
Works fine ..但是当我在EF 6中像这样写查询时
tblBarCodeInv returnValue = null;
using (var db=new RBSYNERGYEntities())
{
String query = String.Format("SpDealerDistributionOracle 'DealerCode','101001'");
returnValue = db.Database.SqlQuery<tblBarCodeInv>(query).FirstOrDefault();
}
return returnValue;
抛出异常。
我只是想返回一个对象,如果没有找到返回null,并在c#中做一些逻辑。有人能帮忙吗?
将过程更改为在这两种情况下仍然返回"collection"。然而,在第二种情况下,它将是一个空集合,因此将达到FirstOrDefault
BEGIN
if (some logic)
select top 1 * from tblBarCodeInv
else
SELECT TOP 0 * from tblBarCodeInv
END