0

正如标题所说,我在写入本地数据库时遇到问题。我从中生成了一个 edmx 模型,我可以轻松地从中读取。

EDMXNS.TOWDataBasev1Entities db = new EDMXNS.TOWDataBasev1Entities();

var query = from p in db.Accounts select p;

foreach (EDMXNS.Accounts s in query)
    Console.WriteLine(s.AccountName);

这很好用。但是,当我尝试写入数据库时​​,什么也没有发生。我没有收到任何错误、异常等。我认为,因为我可以从数据库中读取,所以这不是连接问题。

这是我编写的代码。

EDMXNS.TOWDataBasev1Entities db = new EDMXNS.TOWDataBasev1Entities();
EDMXNS.Accounts acc = new EDMXNS.Accounts();

acc.AccountID = 1;
acc.AccountName = "testuser";
acc.AccountPW = "testpw";
acc.PersonDataID = 0;

db.AddToAccounts(acc);
db.SaveChanges();

值得一提的是我的 Accounts.AccountID 具有身份/自动增量,但我尝试将其设置为下一个已知值,或者根本不设置它。

有谁知道什么可能导致这个问题?

编辑:我还尝试删除自定义名称空间,删除数据库的所有记录并将其全部重新导入。

删除自定义工具名称空间会导致以下错误:“TOWServer.Accounts.AccountName”和“TOWServer.Accounts.AccountName”之间的歧义

这并没有告诉我任何事情。

现在重新导入所有内容给了我一个例外:“无法加载指定的元数据资源”

4

1 回答 1

0

在使用 EF 添加记录时,我一直使用这种格式,请尝试以下格式:

using (MovieStoreEntities context = new MoveStoreEntities()) 
    { 
      try 
      { 

        context.Movies.AddObject(new Movie() { MovieID = 234,  
             Title = "Sleepless Nights in Seattle", Quantity = 10 }); 
        context.SaveChanges(); 
      } 
      catch(Exception ex)  
      { 
        Console.WriteLine(ex.InnerException.Message);  
      } 
    } 
于 2012-12-26T10:55:19.043 回答