我想使用Dapper.SimpleCRUD檢索層次結構中的根節點。根節點由沒有父節點標識。這就是我正在做的電話:Dapper.SimpleCRUD - ISNULL
var whereConditions = new object { ParentId = (int?)null, CompanyId = 1 };
var root = db.GetList<T>(whereConditions).FirstOrDefault();
這是生成的SQL:
exec sp_executesql N'Select * from [Folders] where [CompanyId] = @CompanyId and [ParentId] = @ParentId',N'@CompanyId int,@ParentId int',@CompanyId=13,@ParentId=NULL
的問題是,[ParentId] = @ParentId
將返回任何記錄爲@ParentId
爲空。爲了匹配記錄,該聲明將需要爲[ParentId] IS NULL
。
我不知道是否SimpleCRUD可以檢測何時可空參數等於NULL並且可以生成IS NULL
語句?這樣的事情:
exec sp_executesql N'Select * from [Folders] where [CompanyId] = @CompanyId and [ParentId] IS NULL',N'@CompanyId int,@ParentId int',@CompanyId=13,@ParentId=NULL
我知道我可以手動發送WHERE字符串,但希望有一個自動SimpleCRUD方法。
如果我錯過了一些明顯的東西並感謝您的時間,請提前道歉。在GitHub上