Tag: entity framework4

解决scheme:存储更新,插入或删除语句影响意外数量的行(0)

我find了一个解决scheme,为谁得到一个例外: 存储更新,插入或删除语句影响了意外数量的行(0)。 实体被加载后,实体可能已被修改或删除。 刷新ObjectStateManager条目。 但是,无论如何,我有问题。 我读了主题: entity framework:“存储更新,插入或删除语句影响了意外数量的行(0)”。 对于VMAtm,罗伯特·哈维 在我的例子中,我有例如表格文章: Articles ———— article_id title date_cr date_mod deleted 我触发了: create trigger articles_instead_of_insert on articles instead of insert as SET NOCOUNT ON; insert into articles( article_id, title, date_cr, date_mod, deleted ) select user_id, title, isnull(date_cr, {fn NOW()}), isnull(date_mod, {fn NOW()}), isnull(deleted, 0) from inserted; go 当我删除这个触发器,然后我没有得到这个exception。 所以这个触发器是问题。 […]

entity frameworkjoin3个表

我想join三张桌子,但是我不明白这个方法… 我完成了连接2个表格 var entryPoint = dbContext.tbl_EntryPoint .Join(dbContext.tbl_Entry, c => c.EID, cm => cm.EID, (c, cm) => new { UID = cm.OwnerUID, TID = cm.TID, EID = c.EID, }). Where(a => a.UID == user.UID).Take(10); 我想用TID PK包含tbl_Title表并获得Title字段。 非常感谢

EF4 – 选定的存储过程不返回任何列

我有一个存储过程中的查询,调用一些dynamicSQL的一些链接的服务器。 我明白,EF不喜欢这样,所以我特别列出了所有将被返回的列。 然而,它仍然不是那样的。 我在这里做错了什么? 我只想EF能够检测从存储过程返回的列,所以我可以创build我需要的类。 请参阅构成我的存储过程的最后一行的以下代码: SELECT #TempMain.ID, #TempMain.Class_Data, #TempMain.Web_Store_Class1, #TempMain.Web_Store_Class2, #TempMain.Web_Store_Status, #TempMain.Cur_1pc_Cat51_Price, #TempMain.Cur_1pc_Cat52_Price, #TempMain.Cur_1pc_Cat61_Price, #TempMain.Cur_1pc_Cat62_Price, #TempMain.Cur_1pc_Cat63_Price, #TempMain.Flat_Length, #TempMain.Flat_Width, #TempMain.Item_Height, #TempMain.Item_Weight, #TempMain.Um, #TempMain.Lead_Time_Code, #TempMain.Wp_Image_Nme, #TempMain.Wp_Mod_Dte, #TempMain.Catalog_Price_Chg_Dt, #TempMain.Description, #TempMain.Supersede_Ctl, #TempMain.Supersede_Pn, TempDesc.Cust_Desc, TempMfgr.Mfgr_Item_Nbr, TempMfgr.Mfgr_Name, TempMfgr.Vendor_ID FROM #TempMain LEFT JOIN TempDesc ON #TempMain.ID = TempDesc.ID LEFT JOIN TempMfgr ON #TempMain.ID = TempMfgr.ID

entity framework超时

我使用entity framework(EF)超时使用function导入,需要超过30秒才能完成。 我尝试了以下,并没有能够解决这个问题: 按照此处的build议,将EDMX文件的项目中的App.Config文件中的连接string添加为Default Command Timeout=300000 。 这是我的连接string看起来像: <add name="MyEntityConnectionString" connectionString="metadata=res://*/MyEntities.csdl|res://*/MyEntities.ssdl| res://*/MyEntities.msl; provider=System.Data.SqlClient;provider connection string=&quot; Data Source=trekdevbox;Initial Catalog=StarTrekDatabase; Persist Security Info=True;User ID=JamesTKirk;Password=IsFriendsWithSpock; MultipleActiveResultSets=True;Default Command Timeout=300000;&quot;" providerName="System.Data.EntityClient" /> 我试图直接在我的仓库中设置CommandTimeout,如下所示: private TrekEntities context = new TrekEntities(); public IEnumerable<TrekMatches> GetKirksFriends() { this.context.CommandTimeout = 180; return this.context.GetKirksFriends(); } 我还有什么可以让EF从超时? 这只发生在非常大的数据集上。 一切工作正常小数据集。 这是我得到的错误之一: System.Data.EntityCommandExecutionException:执行命令定义时发生错误。 详情请参阅内部例外。 —> System.Data.SqlClient.SqlException:超时过期。 操作完成之前超时的时间或服务器没有响应。 好的 – […]