在这太久了;尝试使用外键填充记录中的字段,这取决于登录的用户。
下面显示的是一个 View 包,它在下拉列表中显示了客户的名字,用户必须选择它。然后它会在创建时将 CustomerID 放入记录中。这种方法不切实际
ViewBag.CustomerID = new SelectList(db.Customers, "CustomerID", "FName");
下面是尝试通过查找 CustomerID 然后将 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
所采取的方法(这是正确的吗?-欢迎就此主题提出任何建议)
需要更多信息请询问。
最佳答案
关于错误:
var CusID = (from c in db.Customers
where c.UserName == User.Identity.Name
select c.CustomerID).Single();
代替 .Single,您可以/应该使用 .First、.FirstOrDefault、...,具体取决于您的要求。
关于c# - 在 MVC3 Razor 中使用 LinQ to Sql 将 Customer.customerID 输入 Advert.cutomerID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9815175/