相关疑难解决方法(0)

实体框架:没有主键的表

我有一个现有的数据库,我想用EF4.0构建一个新的应用程序

某些表没有定义主键,因此当我创建新的实体数据模型时,我收到以下消息:"表/视图TABLE_NAME没有定义主键,也没有推断出有效的主键.此表/视图已被排除.要使用该实体,您需要检查您的架构,添加正确的密钥,并取消注释".

如果我想使用它们并修改数据,我是否必须在这些表中添加PK,或者是否有解决方法以便我不必?

.net entity-framework

158
推荐指数
7
解决办法
15万
查看次数

因为它有一个DefiningQuery,并且<ModificationFunctionMapping>元素中不存在<InsertFunction>元素

我在我的应用程序中使用EF.

我尝试保存\将新记录插入映射表

并得到以下错误:

Unable to update the EntitySet 'UsersLimitationToCountry' because it has a DefiningQuery and no <InsertFunction> element exists in the <ModificationFunctionMapping> element to support the current operation.

我应该自己在edmx中定义它吗?怎么样?

.net c# entity-framework

54
推荐指数
4
解决办法
9万
查看次数

删除与基于视图的实体的1对多关联的实体对象

我有一个Model-First实体模型,它包含一个链接到视图的Customer表,该视图从单独的数据库中获取客户详细信息.Customer表和View之间的关系是一对多,我在Customer实体和View实体上都有一个导航属性.

当我尝试使用context.Customers.DeleteObject(cust)执行删除并调用context.SaveChanges()时出现错误:

无法更新EntitySet的'ViewEntity',因为它具有DefiningQuery并且没有[DeleteFunction]元素存在元素来支持当前操作.


我尝试过设置On Delete Cascade和None,两者都生成相同的错误.

编辑:没有太多的代码可以展示,但是你去了:

Customer selectedCust = (Customer)dgvCustomers.SelectedRows[0].DataBoundItem;
if (selectedCust != null)
{
    if (MessageBox.Show(String.Format("Are you sure you want to delete Customer {0}?", selectedCust.CustomerID.ToString()), 
                            "Customer Delete Confirmation", MessageBoxButtons.YesNo) == DialogResult.Yes)
    {
        // TODO - Fix this
        this.ReportSchedDBContext.Customers.DeleteObject(selectedCust);
        this.ReportSchedDBContext.SaveChanges();                      
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# entity-framework entity-framework-4

8
推荐指数
1
解决办法
244
查看次数

EF代码优先和数据库视图

我刚开始用Code First查看数据库视图...并尝试决定是否应该使用它们.

这里 Ladislav建议对表和Db-View使用NotMapped继承父(我的视图只添加子实体的总和)......但是如何使用CF迁移?我真的想用它们.

此外...导航属性将适用于Db-View实体?

有没有办法将数据直接保存到Db-View实体(和它的表)?

entity-framework ef-code-first

3
推荐指数
1
解决办法
1551
查看次数