私は自分のサーバーを実行したとき、私はこのエラーを取得しています:ASP .NETエンティティ:EntityCommandExecutionException
An exception of type 'System.Data.Entity.Core.EntityCommandExecutionException' occurred in EntityFramework.SqlServer.dll but was not handled in user code Additional information: An error occurred while executing the command definition. See the inner exception for details.
はここでforeachループ内の行で、この例外が発生した私のActionResultです。データベースからのテーブル入札にAspNetUserテーブルへの外部キー制約があります。
public ActionResult Details(long? id)
{
if (id == null)
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
auction auction = db.auctions.Find(id);
if (User.IsInRole("Administrator"))
ViewBag.UserRole = "Administrator";
else if (User.IsInRole("User"))
ViewBag.UserRole = "User";
else
ViewBag.UserRole = "Guest";
var bids = from b in db.bids
where b.IDAuc == id
orderby b.tokens
descending select b;
var bidsLimited = bids.Take(10);
var users = from b in db.AspNetUsers
select b;
int count = bidsLimited.Count();
long[] prices = new long[count];
string[] bidders = new string[count];
string[] times = new string[count];
string[] states = new string[count];
int i = 0;
foreach (var bid in bidsLimited)
{
prices[i] = bid.tokens;
bidders[i] = bid.AspNetUser.Email; // HERE IS EXCEPTION
times[i] = bid.created.ToString(@"dd\:hh\:mm\:ss");
states[i++] = "Open";
}
if (auction.state == "Sold")
states[0] = "Sold";
ViewBag.count = count;
ViewBag.prices = prices;
ViewBag.bidders = bidders;
ViewBag.times = times;
ViewBag.states = states;
ViewBag.IDAuction = id;
return View(auction);
}
初めてこの例外を見て、誰かが私はこれを解決するのに役立ちます願っています。
ありがとうございます!
あなたは 'var users = b from in db.AspNetUsersはb;を選択します。代わりに 'var bids'クエリでユーザ情報を読み込もうとします。例えば 'db from db.bids.Include( 'AspNetUser') 'のようなものです – DWright
私はすでに同じコードで1つのアプリケーションをコーディングしてしまったことを奇妙なことは言及していませんでした。例外はありません。 – luka032