问题标签 [ef-database-first]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
107 浏览

.net - EF4 DB 首先在哪里获得它的关系名称?

我有一个名为“item”的数据库表,它有一个名为“itemParentID”的自引用字段。当我生成 EDMX 和模型时,我可以访问“item.item1”,它是当前项的父项和“item.items1”,它是子项的集合。我也有属性“item.itemParentID”,但我很少直接使用它。

如何选择这些名称“item1”和“items1”?我从数据库生成 EDMX,并希望名称自动为“topic.Parent”和“topic.Children”,这样我就不必触摸生成的代码或在部分中创建额外的代码。

0 投票
1 回答
235 浏览

.net - 在现有数据库中使用数据创建新表的最佳方法是什么?

我即将开始一个新项目,该项目将以现有数据库为目标,其中包含一些现有的数据表。作为我项目的一部分,我将创建一些新表并与现有表建立关系?在这种情况下哪种方法更好。我相信代码优先将是一个问题,因为我不想每次更改表结构(对于我的新表)时都丢失我的数据。

0 投票
1 回答
7847 浏览

entity-framework-4 - 在 EF Database First 项目中更新模型

我继承了一个首先使用实体​​框架数据库的项目。当我更新数据库时,我试图弄清楚如何更新模型类,但我无法弄清楚。到目前为止,我所做的是将名为 Test 的列添加到数据库中的表中,然后在模型浏览器中,我右键单击 .edmx 文件并选择从数据库中更新模型,然后按照出现的向导中的选项进行操作. 现在,当我查看打开 .edmx 文件时呈现的数据库关系图时,我可以看到测试列已添加到表中。问题是对应的C#模型类没有更新。我认为我不必手动更新它,因为文件顶部有此消息

所以问题是,我如何更新这个模型文件?有什么我必须跑来做的吗?

谢谢,

萨钦

0 投票
1 回答
736 浏览

c# - 如何在 EF 中创建和保存序列化然后反序列化的实体

我有以下流程:

  1. 实体已创建
    • 当前上下文已关闭
  2. 更新
    • 通过属性设置器,也通过导航属性
  3. 放入 ViewState
    • 序列化,类型用 [Serializable] 属性标记)
  4. 从 ViewState 中读取
    • 反序列化
  5. 节省
    • 新的上下文是开放的

我应该如何正确创建实体:存根(默认构造函数)或DbSet<T>.Create()

我应该如何正确保存实体:DbSet<T>.Add()DbSet<T>.Attach()

我遇到了各种异常:

  • “违反 PRIMARY KEY 约束 'PK_currency_types'。无法在对象 'dbo.currency_types' 中插入重复键。重复键值为 (1)。语句已终止。”

  • “发生参照完整性约束违规:定义参照约束的属性值在关系中的主体对象和依赖对象之间不一致。”

我正在使用带有 DbContext Generator 扩展的 EF 4.3 Database First(我有数据库、设计器,但实体是自动生成的 POCO)。我是 EF 的新手,完全被卡住了。

更新:这是我的代码,它很简单,所以我没有从一开始就添加它:

}

0 投票
2 回答
1108 浏览

c# - MVC Music Store 链表数据

我已经研究这个问题大约两个星期了,我认为是时候寻求帮助了......

我正在尝试让 MVCMusicStore 购物车教程在第 8 部分工作:http ://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-8 。我的项目的主要区别在于我使用的是数据库优先(而不是代码优先,用于使用实时/托管数据库的 MVC 实践)。

班级代码:

在 ShoppingCartViewModel 中填充 CartItems 的函数:

.cshtml 页面:

这是 Model.CartItems 的图像,除了链接的专辑数据之外的所有内容都填充: http : //s1253.photobucket.com/albums/hh585/codingcoding1/?action=view¤t=image1.jpg (项目名称在任何地方都被删除)

此处的代码错误:

问题:item.Album 始终为空。

Album.AlbumId = Cart.AlbumId 应该将专辑数据链接到购物车,这样它就不会返回 null 但它不起作用。然而,在以前的教程中,当我做同样的事情,但要从专辑中获取流派或艺术家数据时,链接数据有效,我能够检索这些值,如下所示:

那么为什么 model.Genre 和 model.Artist 返回值但 item.Album 为空呢?我不是使用“虚拟”关键字以相同的方式链接这些值吗?我错过了什么?

谢谢你看看这个。

0 投票
1 回答
864 浏览

c# - 实体框架 SaveChanges 并不总是有效

我正在使用 EF 4.2,并且遇到了一个随机发生且没有警告的问题。我有一个更新数据库的 Windows 服务。在服务中,我有一个计时器。当计时器的时间过去时,将调用一个方法。这是该方法的基本结构

现在,问题是,一旦我们开始使用数据库一天并且该数据库的表中有几行(我们只讨论 100 或 200 行),那么即使调用了这个方法,也SaveChanges不会t 似乎做它应该做的事。我究竟做错了什么?

谢谢,

萨钦

0 投票
1 回答
868 浏览

asp.net-mvc-3 - MVC 3 和 EF 4 数据库首先,模型没有正确链接到表名?

忙着学习MVC 3和EF...

我有一个现有的数据库,然后创建与我的数据库表(代理)对齐的模型:

我的 DAL 课程:

使用控制器生成器弹出窗口创建控制器和视图然后运行代码后:

我收到一个错误,它根本无法找到表,因为 EF 正在自动查找表(dbo.Agencies)但我已将我的模型类声明为代理,我的问题是如何以及在哪里设置模型的表名称引用应该链接到,即它应该寻找 dbo.Agency 而不是 dbo.Agencies?

布局: 在此处输入图像描述

0 投票
1 回答
334 浏览

entity-framework - 实体框架 Database First & EF Code First 通过 ID 获取关系对象

在 EF Database First 中,当更改 ForeignKey(CommodityGroupID) 自动获取 Commodity 对象的 CommodityGroup,但在 EF Code First(4.3.1) 中没有这样做。

此属性在 Edmx 文件中定义(数据库优先),我应该先在 ef 代码中定义此代码吗?

0 投票
2 回答
15485 浏览

asp.net-mvc-3 - 在 MVC3 中将 ListBox 与模型绑定

我的模型是

我正在遵循数据库第一方法。每个 SiteConfig 记录可以包含一个或多个品牌。所以 Brand 正在保存到另一个名为 SiteBrand 的表中。

SiteBrand 包含对 SiteConfig(on IdSiteConfig) 和 Brand(BrandId) 的外键引用。

当我创建站点配置时,我想将所有可用的品牌显示为列表框,用户可以在其中选择一条或多条记录(可能不选择任何品牌)。

但是,当我将视图与模型绑定时,如何将列表框绑定到品牌列表以及发布视图时如何获取所选品牌。

而且我必须将 SiteConfig 对象与所​​选项目一起保存到数据库中。这是我的数据库图。

这是我的 DAL,它保存到 db。

数据库架构

有人可以建议如何绑定列表框并获取所选项目。

谢谢。

0 投票
2 回答
1071 浏览

asp.net-mvc-3 - 使用数据库优先方法修改 Getter 和 Setter

我目前正在学习带有实体框架的 ASP.Net MVC 3,并想知道是否有办法修改使用数据库优先方法生成的模型类的 getter 和 setter。比如说,我想在模型的 getter 和 setter 中清理 HTML,以确保没有无效代码保存在数据库中。最好的方法是什么?

之前谢谢。