私はこれまでにこのエラーを見たことがなく、非常に紛らわしいです。基本的に、渡された場所名とタイプに一致するすべての場所 (1 つだけを返す) を見つけると言うことをしようとしています:
string name = columns[40];
Location type = db.Locations.Where(l => l.name == name).FirstOrDefault();
Location loc = db.Locations.Where(l => l.name == name && l.type == type.type).FirstOrDefault();
おそらく、私がやりたいことを一挙に行うためのより良い方法がありますが、基本的には列から名前を取得し (これは csv ファイルから取得します)、その場所の情報を取得します。この後、ジャズがすべて揃ったので、この名前とタイプの場所を取得してください。
しかし、私はエラーが発生します:
非静的メソッドにはターゲットが必要です
このコードが実行される最上位のメソッドは次のとおりです。
static void Main(string[] args){}
基本的には単なるコンソールアプリです。どうしたの?
- dbはコンテキスト クラスです。これは明らかです。
- 列はcsvファイルからデータを取得することです。この場合、列[40]は「ニューヨーク」のようなものになります
スタック トレースからの完全なエラー メッセージ: {"非静的メソッドにはターゲットが必要です。"}
注:「可能な回答」として投稿された質問は、このコードを実行している主な方法が静的であるため、この場合には役に立ちません。
さらに調査したところ、名前とタイプが null であることが判明したため、次の修正を行いました。
if (name != null)
{
Location type = db.Locations.Where(l => l.name == name).FirstOrDefault();
Location loc = db.Locations.Where(l => l.name == name && l.type == type.type).FirstOrDefault();
locationNearbyId = loc.id;
// More code
}
残念ながら、私はまだエラーが発生します:Location loc = db.Locations.Where(l => l.name == name && l.type == type.type).FirstOrDefault();