.net - Entity Framework 不在数据库中保存数据条目

标签 .net visual-studio-2010 entity-framework-4 savechanges windows-applications

首先我应该提到这个问题只发生在 Windows 窗体应用程序中,并且相同的程序在 Web 模式下例如使用 MVC3 工作完美。

几天前,我使用带有 SQL Express 数据库的 Visual Studio 2010 Ultimate 编写了一个非常简单的 Windows 窗体程序。我通过选择添加 > 新项目 > 基于服务的数据库和基于此数据库的实体数据模型以相同的方式添加了数据库。我使用 Entity Framework 向表中添加一些新记录。我以前用 VS 2008 SP1 做过这样的事情没有问题,所以我也做了同样的事情。该程序编译并运行没有错误,我输入了一些新数据。退出程序后,我回到数据库,什么也没发生。我输入的信息都没有被保存。 我一步一步调试程序,一切正常。 下面的代码与一个带有上述问题的非常简单的程序有关。数据库只有一张表(书):

namespace Book
{
    public partial class BookForm : Form
    {
        BookDatabaseEntities db = new BookDatabaseEntities();

        public BookForm()
        {
            InitializeComponent();
        }

        private void saveButton_Click(object sender, EventArgs e)
        {
            Book bookToCreate = new Book();

            bookToCreate.Id = Guid.NewGuid();
            bookToCreate.Title = titleTextBox.Text;

            db.Books.AddObject(bookToCreate);
            db.SaveChanges();
        }
    }
}

如果有人帮助我,我将不胜感激。提前致谢。

................................

编辑后:

namespace Book
{
    public partial class BookForm : Form
    {
        //BookDatabaseEntities db = new BookDatabaseEntities();

        public BookForm()
        {
            InitializeComponent();
        }

        private void saveButton_Click(object sender, EventArgs e)
        {
            var db = new BookDatabaseEntities();
            var bookToCreate = db.Books.CreateObject();

            //Book bookToCreate = new Book();

            bookToCreate.Id = Guid.NewGuid();
            bookToCreate.Title = titleTextBox.Text;

            db.AcceptAllChanges();
            db.Books.AddObject(bookToCreate);
            db.SaveChanges();
        }
    }
}

最佳答案

最后,经过大量搜索和询问,我在 MSDN 论坛中找到了解决方案,感谢 Patrice Scribe 你可以看到 here

关于.net - Entity Framework 不在数据库中保存数据条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7329167/

相关文章:

entity-framework - Entity Framework 映射枚举: The specified value is not an instance of type 'Edm.Int32' Parameter name: value

c# - 无法附加到我自己的 Windows 服务应用程序上的进程

wpf - Visual Studio 2010 WPF/Silverlight 设计器默认背景

c# - 在 Entity Framework 4 中处理对象上下文

c# - Entity Framework 连接无法识别创建的临时表

visual-studio-2010 - 是否有与 Eclipse 的本地历史等效的 Visual Studio?

.net - VS解决方案,项目与DLL最佳实践

c# - C#中的多变量switch语句

c# - 当进行非常大的插入时,不参数化 MySQL 查询而是使用方法 MySqlHelper.EscapeString(string) 是否安全?

c# - 是否可以使用来自托管代码的 C# 反射来调用非托管代码?