Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc MVC存储库中的CRUD_Asp.net Mvc_Crud - Fatal编程技术网

Asp.net mvc MVC存储库中的CRUD

Asp.net mvc MVC存储库中的CRUD,asp.net-mvc,crud,Asp.net Mvc,Crud,我已经在我的MVC web应用程序中创建了一个存储库数据层,并希望将其用于我的CRUD方法。但我想到了一些我想做的事情,比如: If record does not exist create record else update record 但这是如何适应积垢的呢?这两位一体的操作逻辑应该保存在控制器中吗?我认为存储库应该注意这一点,控制器应该尽可能轻: 在存储库级别: public bool CreateUpdate(Type model) { var record =

我已经在我的MVC web应用程序中创建了一个存储库数据层,并希望将其用于我的CRUD方法。但我想到了一些我想做的事情,比如:

If record does not exist
   create record
else
   update record

但这是如何适应积垢的呢?这两位一体的操作逻辑应该保存在控制器中吗?

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

在存储库级别:

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
}

这可以通过以下代码完成

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();
}

为答案添加一些解释总是很好的,这样OP就可以从您的代码中学到一些东西。