Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.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
Javascript 如何在MVC4中使用CodeFirstApproach和ViewModel更新删除方法?_Javascript_C#_Jquery_Angularjs_Asp.net Mvc 4 - Fatal编程技术网

Javascript 如何在MVC4中使用CodeFirstApproach和ViewModel更新删除方法?

Javascript 如何在MVC4中使用CodeFirstApproach和ViewModel更新删除方法?,javascript,c#,jquery,angularjs,asp.net-mvc-4,Javascript,C#,Jquery,Angularjs,Asp.net Mvc 4,您好,我想在mvc4中使用代码优先方法和视图模型执行更新-删除过程。我创建了视图,并使用代码优先方法和视图模型执行了插入过程,因为我的数据库已完全规范化,并且使用了EF。因此,我使用了代码优先方法和视图模型。现在,我完成了插入过程。现在我想知道如何使用代码优先方法和ViewModel执行更新和删除过程。请任何人给我答案 我的型号 public class CustomerModel1 { public System.Guid CustomerID { get; set;

您好,我想在mvc4中使用代码优先方法和视图模型执行更新-删除过程。我创建了视图,并使用代码优先方法和视图模型执行了插入过程,因为我的数据库已完全规范化,并且使用了EF。因此,我使用了代码优先方法和视图模型。现在,我完成了插入过程。现在我想知道如何使用代码优先方法和ViewModel执行更新删除过程。请任何人给我答案

我的型号

 public class CustomerModel1
    {
        public System.Guid CustomerID { get; set; }
        public string DisplayName { get; set; }
        public string PrintName { get; set; }
 }

public partial class ContactModel
    {
        public System.Guid ContactID { get; set; }
        public string DisplayName { get; set; }
        public string PrintName { get; set; }
        public string Mobile1 { get; set; }
        public string Mobile2 { get; set; }
        public string Phone1 { get; set; }
        public string Phone2 { get; set; }
        public string Email1 { get; set; }
         public string Website1 { get; set; }
}
  public class CustomerViewModel
{
  public System.Guid CustomerID { get; set; }
    public string CustomerName { get; set; }
    public System.Guid ContactID { get; set; }
    public string ContactPerson { get; set; }
    public string PhoneNo1 { get; set; }
    public string PhoneNo2 { get; set; }
    public string MobileNo1 { get; set; }
    public string MobileNo2 { get; set; }
    public string Website1 { get; set; }
 }
  public class VisitorsEntities1 : DbContext
{

 public DbSet Customer    { get; set; }
 public DbSet Contact { get; set; }
}
我的VIE车型

 public class CustomerModel1
    {
        public System.Guid CustomerID { get; set; }
        public string DisplayName { get; set; }
        public string PrintName { get; set; }
 }

public partial class ContactModel
    {
        public System.Guid ContactID { get; set; }
        public string DisplayName { get; set; }
        public string PrintName { get; set; }
        public string Mobile1 { get; set; }
        public string Mobile2 { get; set; }
        public string Phone1 { get; set; }
        public string Phone2 { get; set; }
        public string Email1 { get; set; }
         public string Website1 { get; set; }
}
  public class CustomerViewModel
{
  public System.Guid CustomerID { get; set; }
    public string CustomerName { get; set; }
    public System.Guid ContactID { get; set; }
    public string ContactPerson { get; set; }
    public string PhoneNo1 { get; set; }
    public string PhoneNo2 { get; set; }
    public string MobileNo1 { get; set; }
    public string MobileNo2 { get; set; }
    public string Website1 { get; set; }
 }
  public class VisitorsEntities1 : DbContext
{

 public DbSet Customer    { get; set; }
 public DbSet Contact { get; set; }
}
我的控制器

  public ActionResult Create()
    {
  return View();

    }

    [HttpPost]
 public ActionResult Create(CustomerViewModel viewmodel)

  {
     var Customerobj = new Customer()
        { 
         CustomerID= Guid .NewGuid (),
         DisplayName = viewmodel.CustomerName,
         PrintName = viewmodel .CustomerName
   };
    var Contactobj = new Contact()
        {
            ContactID= Guid.NewGuid(),
            DisplayName= viewmodel.CustomerName,
            PrintName=viewmodel.CustomerName,
            Mobile1=viewmodel.MobileNo1,
            Mobile2 = viewmodel.MobileNo2,
            Phone1= viewmodel.PhoneNo1,
            Phone2=viewmodel.PhoneNo2,
            Email1=viewmodel.Email1,
            Website1=viewmodel.Website1

            db.Customer.Add(Customerobj);
            db.Contact.Add(Contactobj);
            db.SaveChanges();
       return View();
   }
在这里,我使用CodeFirstApproachViewModel完成插入过程。插入工作正常。现在我想做更新,删除和细节(索引)的过程。如何使用代码优先方法和ViewModel实现这一点


谢谢

您只需创建一个以模型为参数的更新操作,并保存更改:

db.Entry(contact).State = EntityState.Modified;
db.SaveChanges();
然后添加一个删除操作,该操作将项目的id作为参数并删除:

 Contact contact = db.Contacts.Find(id);
 db.BlogPosts.Remove(contact);
 db.SaveChanges();

实际上,如果您使用的是Visual Studio,它应该能够自动为您生成所有这些操作,然后您可以根据需要进行修改。

Update:与您所做的几乎相同。您将在控制器中接收新值作为参数。通过某个Id字段获取用户,然后设置新值并调用SaveChanges。若要删除,请传递一个Id,找到该用户并在您的上下文中调用delete。请详细说明用户回答JPI。获取用户是指您在此处提到的内容。请检查Mattew的答案。不过,这是相当标准的,通过一个简单的谷歌搜索,你就能找到你的答案。下次再努力一点:)