c# – 当使用MVC应用程序和针对MySQL的MS Access时,记录被覆盖

一些背景知识:我们开发了客户端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已经可以工作)并检查您是否有相同的问题.

上一篇:php – SQLExecDirect中的游标状态无效,SQL状态为24000


下一篇:【linux】dd命令显示进度及手动迁移系统