文字列フィールド、製品名が空、null になることがある linq クエリがあります。これはテーブルの新しいフィールドであり、データが入力されていない場合、クエリを実行するとエラーが発生します。私がする必要があるのは、null をチェックすることです。null の場合は、null/空の値をドロップダウン リストのテキスト値に置き換えます。私はいくつかのことを試しましたが、それを機能させることができません。
public IQueryable<Product> BindProduct([Control("ddProductName")] int? ProductNameId)
{
var prod = from c in _DbContext.Products
where c.ProductNameId == ProductNameId
orderby string.IsNullOrEmpty(c.ProductName) ? ddProductName.SelectedItem.Text : c.ProductName,
c.ItemNumber
select c;
return prod;
}
変更:
public IQueryable<Product> BindProduct([Control("ddProductName")] int? ProductNameId)
{
var prodName = ddProductName.SelectedItem.Text;
var prod = from c in _DbContext.Products
where c.ProductNameId == ProductNameId
let sortName = c.Name ?? prodName
orderby sortName, c.ItemNumber
select new { c, sortName };
return prod;
}
更新: 私は明確ではなかったと思います。私がする必要があるのは、null をチェックすることです。null の場合は、null/空の値をドロップダウン リストのテキスト値に置き換えます。