我正在为数据库编写C#代码。我收到以下错误。有人可以帮帮我。
错误:严重性代码描述项目文件行抑制状态 错误CS1955非可调用成员' BatchEntities.Batches'不可能是 像一个方法一样使用。 AddBatch C:\ Users \ SA051263 \ documents \ visual studio 2015 \ Projects \ AddBatch \ AddBatch \ Controllers \ HomeController.cs 45 Active
代码:
public HomeController()
{
_db = new BatchEntities();
}
public ActionResult Index()
{
ViewData.Model = _db.Batches.ToList();
return View();
}
public ActionResult Add()
{
return View();
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Add(FormCollection form)
{
var batchToAdd = new Batch();
// Deserialize (Include white list!)
TryUpdateModel(batchToAdd, new string[] { "BatchName", "StartDate" }, form.ToValueProvider());
// Validate
if (String.IsNullOrEmpty(batchToAdd.BatchName))
ModelState.AddModelError("Title", "Title is required!");
// If valid, save movie to database
if (ModelState.IsValid)
{
_db.Batches(batchToAdd);
_db.SaveChanges();
return RedirectToAction("Index");
}
// Otherwise, reshow form
return View(batchToAdd);
}
答案 0 :(得分:0)
你的问题在这里 -
if (ModelState.IsValid)
{
**_db.Batches(batchToAdd);**
_db.SaveChanges();
return RedirectToAction("Index");
}
_db.Batches
是一个属性,(可能带有签名DbSet<Batch>
),而不是函数。
尝试这样的事情 -
if (ModelState.IsValid)
{
**foreach(var b in batchToAdd){
_db.Batches.Add(b);
}**
_db.SaveChanges();
return RedirectToAction("Index");
}
答案 1 :(得分:0)
将_db.Batches(batchToAdd)更改为_db.Batches.Add(batchToAdd)。
您正在使用类成员作为成员函数。