MVC存储库中的CRUD

时间:2014-11-11 23:24:26

标签: asp.net-mvc crud

我在MVC Web应用程序中创建了一个存储库数据层,并希望将它用于我的CRUD方法。但我开始想到我想要做的事情:

If record does not exist
   create record
else
   update record

但这如何适合CRUD?这个二合一操作逻辑应该保存在控制器中吗?

2 个答案:

答案 0 :(得分:2)

我认为存储库应该注意这一点,控制器应该尽可能轻:

在存储库级别:

public bool CreateUpdate(Type model)
{
    var record = db.FirstOrDefault(x=> x.Id == model.Id);
    if(record == null)
    {
        Create(model);
    }
    else
    {
        Update(model);
    }
}

public bool Create(Type model)
{
    //create logic here
}

public bool Update(Type model)
{
    //update logic here
}

答案 1 :(得分:0)

可以使用此代码完成

var data = db.tableName.where(x=> x.Id == model.Id).FirstOrDefault();
if(data== null)
{
       db.FAQCategories.Add(model);
       db.SaveChanges();
}
else
{
         db.Entry(model).State = EntityState.Modified;
         db.SaveChanges();
}