为什么EF不向数据库添加数据

时间:2017-10-01 19:50:09

标签: c# sql-server database entity-framework entity-framework-6

我正在使用Visual Studio 2015社区,Entity Framework 6.0

我在Visual Studio中使用不同的表创建了一个SQL Server数据库。之后,我为该数据库创建了Code First,它工作正常。然后我尝试将数据添加到一个特定的表 - $d1 = "a:1,b:2,c:3,d:4"; //field number variable.. sometimes 4 or 10 $d2 = explode(',', $d1); $colums = $values = array(); foreach ($d2 as $key => $value) { $arr1 = explode(':',$value); $colums[] = "`".$arr1[0]."`"; $values[] = "'".$arr1[1]."'"; } $sql = 'insert into `Table1` ('.implode(",",$colums).') values ('.implode(",",$values).')';

Users

如果我尝试通过相同或其他上下文访问此数据:

using (DataBase db = new DataBase())
{
    User user = new User() { Name = "admin", Password = "admin"};
    db.Users.Add(user);
    db.SaveChanges();
}

我会得到正确的名字 - ' admin'

但在关闭应用程序后,表格只是空的。我在using (DataBase db = new DataBase()) { Console.WriteLine(db.Users.First().Name); } 结果相同之后检查了Debug中的表数据。

我尝试了在互联网上找到的不同解决方案,包括:

  1. 更改状态:db.SaveChanges();
  2. 将实体附加到上下文:db.Entry(user).State = System.Data.Entity.EntityState.Added;
  3. 1.和2.
  4. 检查此数据库的连接字符串(据我所知,没问题)
  5. 也许有人知道问题是什么?

    如果需要,我可以提供任何其他信息。

0 个答案:

没有答案