分离还是不分离? 实体框架IBindingList问题

我的问题 :我有一个listobject,我想坚持sql服务器,当我调用Entity Framework上的.SaveChanges()时,它会失败,因为上下文中的某些对象无效。

我的问题:我如何保持有效更改? 我将在UI上通知客户那些无效的客户端。

我正在处理一个VSTO Excel工作簿项目,并试图管理ListObject上的数据垃圾。

我有一个POCO类和实体框架。

我将实体作为事件的IBindingList对象传递给ListObject。

当我去.SaveChanges()它的实体崩溃,因为不是所有的对象都是有效的,看起来像一个全或没有。

所以现在我正在考虑分离无效对象,直到它们变为有效并保存有效项目。

ListObject ListChanged事件中的事件过程很奇怪。

让我也分享一下:当你添加一行到列表对象时,这会创建一个新的空对象(除非你没有进行验证)将是一个无效的实体。

    public partial class Sheet3
    {

        private DonorContext db = new DonorContext();
        private void Sheet3_Startup(object sender, System.EventArgs e)
        {
            db.Donors.Load();
            IBindingList donors = db.Donors.Local.ToBindingList();
            donors.ListChanged += donors_ListChanged;
            this.Donors.SetDataBinding(donors, "", "ID", "DonorName", "Address1", "Address2", "City", "State", "PostalCode", "Phone", "Email", "IsPOBox", "HasErrors");
        }
// Concider this nothing more than an event to hook into for informing 
// Entity Framework to save changes.
        void donors_ListChanged(object sender, ListChangedEventArgs e)
        {
            foreach (var itm in (IBindingList)sender)
            {
                Donor donor = (Donor)itm;
            }
        }
链接地址: http://www.djcxy.com/p/33567.html

上一篇: To detach or not to detach? entity framework IBindingList issue

下一篇: EntityState.Detached, do I need to reload?