Insert data using Entity Framework model

后端 未结 4 901
感情败类
感情败类 2020-11-27 03:07

I\'m trying to insert some data in my database using Entity Framework model, but for some unknown reasons to me, it does nothing.

Am I missing something here?

<
4条回答
  •  不知归路
    2020-11-27 03:50

    It should be:

    context.TableName.AddObject(TableEntityInstance);
    

    Where:

    1. TableName: the name of the table in the database.
    2. TableEntityInstance: an instance of the table entity class.

    If your table is Orders, then:

    Order order = new Order();
    context.Orders.AddObject(order);
    

    For example:

     var id = Guid.NewGuid();
    
     // insert
     using (var db = new EfContext("name=EfSample"))
     {
        var customers = db.Set();
        customers.Add( new Customer { CustomerId = id, Name = "John Doe" } );
    
        db.SaveChanges();
     }
    

    Here is a live example:

    public void UpdatePlayerScreen(byte[] imageBytes, string installationKey)
    {
      var player = (from p in this.ObjectContext.Players where p.InstallationKey == installationKey select p).FirstOrDefault();
    
      var current = (from d in this.ObjectContext.Screenshots where d.PlayerID == player.ID select d).FirstOrDefault();
    
      if (current != null)
      {
        current.Screen = imageBytes;
        current.Refreshed = DateTime.Now;
    
        this.ObjectContext.SaveChanges();
      }
      else
      {
        Screenshot screenshot = new Screenshot();
    
        screenshot.ID = Guid.NewGuid();
        screenshot.Interval = 1000;
        screenshot.IsTurnedOn = true;
        screenshot.PlayerID = player.ID;
        screenshot.Refreshed = DateTime.Now;
        screenshot.Screen = imageBytes;
    
        this.ObjectContext.Screenshots.AddObject(screenshot);
        this.ObjectContext.SaveChanges();
      }
    }
    

提交回复
热议问题