それが可能かどうかはわかりません。私はいくつかのリンクを検索しましたが、解決策が見つかりませんでした。
データベースからデータを取得するためのlinqクエリがあります。これで、テーブル列のデータベースで、写真に画像を含めることができる場合とできない場合があります。これは、写真もnullになる可能性があることを意味します。
だから私の質問は: linqクエリでif else条件を使用するのではなく、次のようにコードを配置できる方法はありますか?
DataTable Customer=ds.Tables["Customer"]
if (Photo==null)
{
var items = (from d in Customer.AsEnumerable()
where d.Field<string>("strHin") != string.Empty
orderby d.Field<DateTime>("date")
select new News
{
NewsItemId = d.Field<Int32>("intCustId").ToString(),
HeadLine = d.Field<string>("strHin"),
Photo = null,
}).Take(Convert.ToInt32(limit)).ToList();
return items;
}
if(Photo !=null)
{
var items = (from d in Customer.AsEnumerable()
where d.Field<string>("strHin") != string.Empty
orderby d.Field<DateTime>("date")
select new News
{
NewsItemId = d.Field<Int32>("intCustId").ToString(),
HeadLine = d.Field<string>("strHin"),
Photo = @"http://192.168.1.12:801/ImageById/" + d.Field<Int32>("intCustId") + ".jpg"
}).Take(Convert.ToInt32(limit)).ToList();
return items;
}
私は自分のコードですでに多くのifelseを使用しているので、ifelseを使用したくありません。コードを繰り返さずにこれをlinqクエリで使用できる方法はありますか?