C# 实体框架在桌面上不工作

C# 实体框架在桌面上不工作,c#,C#,我在Visual Studio 2012中使用了实体框架。一切都正常工作,但当SaveChanges调用发生时,它会显示添加成功消息,但数据并没有插入到数据库中。有人能帮我吗 这是完整项目的代码和链接。 还有我的数据库脚本 CREATE TABLE [dbo].[Student] ( [Id] INT IDENTITY (1, 1) NOT NULL, [Name] VARCHAR (50) NULL, [Address] VARCHA

我在Visual Studio 2012中使用了实体框架。一切都正常工作,但当SaveChanges调用发生时,它会显示添加成功消息,但数据并没有插入到数据库中。有人能帮我吗

这是完整项目的代码和链接。

还有我的数据库脚本

CREATE TABLE [dbo].[Student] (
    [Id]      INT          IDENTITY (1, 1) NOT NULL,
    [Name]    VARCHAR (50) NULL,
    [Address] VARCHAR (50) NULL,
    PRIMARY KEY CLUSTERED ([Id] ASC)
);

提前感谢。

您正在使用以下条件进行验证:

if (db.SaveChanges() >= 0)
因此,如果0,您仍然成功打印加法

相反,您应该捕获一个异常,如果您没有捕获到一个,那么它就是成功的:

 using (var db = new Database1Entities())
 {
 Student s = new Student();
 s.Name = StudentName.Text;              
 s.Address = Address.Text;

 try 
 {
     db.Students.Add(s);
     int numOfUpdate = db.SaveChanges();
     MessageBox.Show("Addition Successfull:" + numOfUpdate.ToString() + "updates");
 }
 catch(Execption ex)
 {
     MessageBox.Show("Addition Failed:" + ex.Message);
 }
 }

你的连接字符串是什么样子的?你能给我们看一下连接字符串吗?它位于标记内的App.Config文件中。我认为您不应该添加条件。只需写db.SaveChanges;并检查数据库中的更改。这是当您连接到Sql Server Management Studio时,连接将显示您的服务器名称-您使用的是实体框架吗?我尝试了您的代码。。。并显示一条消息添加成功:1更新。但仍然没有显示在数据库中:SaveChanges返回受影响的行数,所以我认为零也意味着失败。
 using (var db = new Database1Entities())
 {
 Student s = new Student();
 s.Name = StudentName.Text;              
 s.Address = Address.Text;

 try 
 {
     db.Students.Add(s);
     int numOfUpdate = db.SaveChanges();
     MessageBox.Show("Addition Successfull:" + numOfUpdate.ToString() + "updates");
 }
 catch(Execption ex)
 {
     MessageBox.Show("Addition Failed:" + ex.Message);
 }
 }