一些背景知识:我们开发了客户端MS Access应用程序的ASP.NET MVC端口.应用程序使用/使用MySQL作为ODBC的数据存储.我们遇到的是,如果客户端使用MS Access应用程序捕获新记录,并且在MVC应用程序捕获新记录后不久,MVC应用程序的记录似乎会覆盖Access应用程序创建的最后一条记录,如以及创建第二条记录.
实际上,Access应用程序的记录最初看起来像这样
ID | NAME | SURNAME
1 | joe | Schmoe
但是,当MVC应用程序创建其中一条记录时,会发生以下情况:
ID | NAME | SURNAME
1 | james | smith
2 | james | smith
MVC应用程序似乎覆盖了Access捕获的最后一条记录,以及创建新记录.
我们使用Entity Framework 5.我们所做的就是保存记录
var record = new Person(){NAME = "james", SURNAME = "smith"};
db.People.Add(record);
db.SaveChanges();
只有在客户端使用Access应用程序时才会发生此类事情.并且只有当最后添加的记录来自Access应用程序且新记录来自MVC / EF应用程序时才会发生.
任何输入将不胜感激.
通过Access捕获一系列记录时,不会发生这种情况.通过Entity Framework捕获一系列记录时,它不会发生.首先通过Entity Framework和THEN Access捕获时,不会发生这种情况.它仅在序列为Access first,Entity Framework second时发生.
解决方法:
抱歉,没有足够的空间在评论中写这个
一些建议:
>您发布的代码不足以理解该问题.至少你可以编写创建/使用db的所有代码(它只是在你发布的行之前使用吗?)
>可能错误是从EF保存时.您可以开始在每个SaveChanges中插入断点,即使是那些您确定未调用的断点
>您可以做的其他事情是将MySQL与SQL Server交换(您的应用程序也可以与SQL Server完美配合,最难的工作是从Access更改链接,EF已经可以工作)并检查您是否有相同的问题.