C# 无法使用实体框架(edmx)写入数据库

C# 无法使用实体框架(edmx)写入数据库,c#,entity-framework,edmx,C#,Entity Framework,Edmx,正如标题所说,我在写入本地数据库时遇到问题。我由此生成了一个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); 那很好。但是,当我

正如标题所说,我在写入本地数据库时遇到问题。我由此生成了一个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();
值得一提的是,my Accounts.AccountID具有identity/autoincrement,但我已尝试将其设置为下一个已知值,或者根本不设置它

有人知道是什么导致了这个问题吗

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

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

这没告诉我什么

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

我在使用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);  
      } 
    } 

我对这个有点陌生。我认为这是最新的,但是我怎么看呢?我也尝试了
db.Accounts.AddObject(acc)但这也不起作用。它会引发任何异常吗?如果将其放入
try catch
块中,则弹出错误
MessageBox.Show(例如ToString())
Nope,不会引发异常。它确实声明.AddToAccounts已被弃用,并且我应该使用关联对象集的Add方法,但我不知道如何做到这一点?那也不行。您认为这可能与我使用自定义工具集命名空间有关吗?埃德蒙斯。如果我不使用它,我就有名字冲突