WebGrid 列にいくつかの連結フィールドを表示したいのですが、連結フィールドに null 値があるとこのエラーが発生します
SQL クエリ:
SELECT *, T.Name AS Title, PT.Name AS PropertyType
FROM Properties AS P
LEFT OUTER JOIN Owners_Properties AS OP ON OP.PropertyId = P.PropertyId
LEFT OUTER JOIN Owners AS O ON O.OwnerId = OP.OwnerId
LEFT OUTER JOIN PropertyTypes AS PT ON PT.PropertyTypeId = P.PropertyTypeId
LEFT OUTER JOIN Titles AS T ON T.TitleId = O.TitleId
WHERE P.CondoId=@0 AND P.PropertyId=@1
HTML マークアップ:
propertyGrid.Column("Propriétaire", format: (item) => item.Title+ ' ' + item.FirstName+ ' ' + item.LastName)
この問題は、「連続する 2 つのフィールド」が NULL の場合に発生します
次の方法で HTML コードを変更しようとしました。
propertyGrid.Column("Owner", format: (item) => @Html.Raw((item.Title=!null) ? (item.Title+ ' ') : "")+ (item.FirstName=!null) ? (item.FirstName+ ' ') : "")+ ((item.LastName=!null) ? item.LastName : "")))
これらの NULL 値を返さないようにすることも可能ですが、SQL クエリ側では成功しませんでした。人生は難しいです;-)