Linq To Sql存储过程总是使参数可以为空。为什么?

时间:2009-04-22 11:15:19

标签: linq-to-sql stored-procedures

每当我将存储过程拖放到我的Context画布上时,存储过程的参数/参数都可以为空。

这是为什么?是因为我如何在存储的procudure中声明我的参数?

除了在Context partial类中手动创建我的存储过程方法(或者拖放到画布上,从autogen'd代码中剪切,移到partial类,然后删除nullables类型)..有什么办法可以修复此?

真的很令人沮丧:(

1 个答案:

答案 0 :(得分:2)

存储过程的参数总是可以为空的(没有相当于可以添加到表中列的“NOT NULL”子句),因此Linq to SQL别无选择,只能在其生成的方法中反映出来。

最好的办法是检查(在proc本身中)是否已通过NULL并引发错误或用默认值替换它。