不可调用的成员不能像方法一样使用(批处理)

时间:2017-04-03 03:44:25

标签: c# asp.net-mvc

我正在为数据库编写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);
    }

2 个答案:

答案 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)。

您正在使用类成员作为成员函数。