使用实体框架检查mysql中是否存在数据

时间:2013-05-30 02:49:41

标签: c# mysql entity

我有一个mysql数据库表。表名是Question,我在该表下有一个列名称questionNo。我有一个由创建按钮和一些文本框组成的网络表单,所以每次我点击创建按钮,它会在数据库中创建问题编号1,2,所以如果我刷新页面并再次创建,它仍将从1开始。我如何从tablename问题下的questionNo列中检查数据库,已经有问题1,2或3等等..所以我在单击创建按钮后创建的下一个问题将是questionNo列的+1。对不起,我的英语不好 。我是实体框架的新手,如何使用实体做到这一点?

例如3行记录,其中questionNo为1 ..然后当我再次创建时,我可能会有2行记录,其中包含questionNo 2,依此类推。现在的问题是,在我刷新页面后,我将再次插入多行记录而没有问题1

1 个答案:

答案 0 :(得分:1)

您可以为Question表创建自动增量主键,如下所示

CREATE TABLE Question 
(
QuestionNo int NOT NULL AUTO_INCREMENT,
  // other fields 
PRIMARY KEY (QuestionNo)
)

MySql将在您插入新记录时执行增量,您无需通过代码处理它


使用实体框架

如果您想获得QuestionNo的当前最大值

int maxQNo= context.Question.Max(q => q.QuestionNo);

检查已添加的newQNo,如下所示

bool alreadyAdded= context.Question.Any(q => q.QuestionNo == newQNo);