2012-03-22 8 views
2

これまでのところ長すぎました。レコード内のフィールドに外部キーを設定しようとすると、ログオンしているユーザーに依存します。MVC3 RazorのLinQとSqlを使用してAdvert.customerIDにCustomer.customerIDを入力

以下は、ユーザーが選択しなければならなかった顧客のファーストネームをドロップダウンに表示するビューバッグです。次に、作成時にCustomerIDをレコードに挿入します。この方法は、以下

ViewBag.CustomerID = new SelectList(db.Customers, "CustomerID", "FName"); 

非現実的であった得意先を見つけると、フォームの隠しフィールドにcustoemrIDを入力することにより自動的に外部キー入力の試みです。

public ActionResult Create() 
    { 
     var CusID = from c in db.Customers 
      where c.UserName == "User.Identity.Name" 
      select c.CustomerID; 
    return View(new CarAdvert { UserName = @User.Identity.Name, CustomerID = CusID }); 
    } 

エラー:暗黙的に型がsystem.linq.Iqueryable < -int-> intに変換できません

撮影したアプローチ(これが正しいです - 対象歓迎上の任意のアドバイス!)

それ以上の情報は質問してください。エラーについて

答えて

1

var CusID = (from c in db.Customers 
     where c.UserName == User.Identity.Name 
     select c.CustomerID).Single(); 

代わりの.Singleあなたは/ 1次回、.FirstOrDefaultを使用する必要がありますすることができます...あなたの要件に応じて。

+1

"User.Identity.Name"は引用符で囲まないでください。文字列リテラルではなく、プロパティです。 –

+0

引用符を削除しました - 治療を受けました –

+0

よく目を向けたDavid! – veblock

関連する問題