エンティティ クエリがあります。
Location location = new Location();
var loc = from l in location.name
where location.active = true
select l;
return View(loc.ToList());
name と active の両方が null であるため、コードを実行すると問題がスローされます。これは問題ありませんが、言い方はありますか: 空のリターンでない場合は? loc
それを返す前に空かどうかを尋ねるのと同じくらい簡単でしょうか?
もしそうなら、どうすればいいですか?
詳細
エラーが発生しています:
説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。
例外の詳細: System.ArgumentNullException: 値を null にすることはできません。パラメータ名: ソース
これはオンラインで発生します:
var loc = (from l in location.name
私のコンテキストクラスは次のようになります。
using System;
using System.Data.Entity;
using LocationApp.Models;
using System.Data.Entity.ModelConfiguration.Conventions;
namespace LocationApp.DAL
{
public class LocationAppContext : DbContext
{
public DbSet<Content> Contents { get; set; }
public DbSet<Location> Locations { get; set; }
public DbSet<ServiceAssignment> ServiceAssignments { get; set; }
public DbSet<Service> Services { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
}
}
注:このアプローチはコードファーストアプローチを使用しています。データベースには場所のエントリが1つあり、名前があり、「アクティブ」がtrueに設定されています。ですから、なぜこれが急増しているのかわかりません。