私はデータベースとテーブルに接続するコードの最初のアプローチを使用していますが、いくつかの問題のために/私はテーブルを手動で作成したので、マイグレーションコマンドは私のテーブルを作成していません。私は、objDbContext私のテーブルを取得することを意味します。テーブルの名前はデータベース内のタスクです。以下 はデフォルトEFで複数のテーブル名を生成します(私のコードの下にオブジェクト名 'dbo.Tasks'が無効です。コードの最初のアプローチ
eDbContext objDbContext = new eDbContext();
public List<TaskDetail> GetTasks(long eventId)
{
List<TaskDetail> listTask = new List<TaskDetail>();
try {
listTask = (from task in objDbContext.Tasks
where task.EventId==eventId
select new TaskDetail
{
Id = task.Id,
Title = task.Title,
Description = task.Description,
StartDate = task.StartDate,
EndDate = task.EndDate
}
).ToList();
}
catch(Exception ex) {
throw ex;
}
return listTask;
}
は、あなたが他のエンティティのために同様の問題(複数のテーブル名を)持っている場合は、あなたがPluralizingTableNameConvention
を削除する必要があり、データベースのコンテキスト
public class eDbContext : DbContext
{
public DbSet<Task> Tasks { get; set; }
}
サイドノート: 'throw ex'はスタックトレースを書き換えます。 'スロー 'はうまくいく。サイド・サイド・ノート:なぜ「キャッチ」して「スロー」するの? – TheLethalCoder
基本的にあなたはすべてが間違っていた... – Valkyrie
だからバルキリー、私はそこに間違っていた。私が最初にコードすることに新しいので、私に示唆してください。 –