问题标签 [entity-framework-ctp5]
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.
.net - EF CTP5 自动创建表 SQL Server 2005
我一直在使用 EF 4 CTP5 并关注 scottgu 博客文章:http ://weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with-entity-framework-4.aspx
基本上,如果模型丢失,我希望模型为我生成表。
就我而言,它抱怨存在无效的数据库对象,那是因为我还没有表。我使用的是 SQL Server 2005,而博客中提到了 sql express 或 ce。
我想要创建表的模式,该功能仅适用于 sql express 和 CE 吗?
提前致谢
sql-server - 实体框架 CTP5 - 如何调用存储过程?
这可能是一个简单的答案,但我看不到如何使用 EF CTP5 执行存储过程。
在 Entity Framework 4.0 中,我们这样做了:
ExecuteFunction("ContainerName.StoredProcName", new ObjectParameter("Id", id))
.
这是ObjectContext
.
但是DbContext
没有这样的方法。
我们如何调用存储过程?EF CTP5 不支持吗?
编辑:
我找到了这个线程,它指出你需要这样做:
这引起了一些担忧:
1)您现在正在调用 set 上的存储过程,而不是context。存储过程应该在上下文范围内可用,而不是绑定到特定的实体集。就像它们在 SQL Server 中的“数据库”下而不是在“表”下一样。
2)复杂类型呢?我以前有一个从存储过程返回的复杂类型。但是现在,您似乎必须直接映射到实体?这没有任何意义。我有许多存储的过程,它们返回的类型不是由 ObjectSet/DBSet 直接表示的,我不知道如何才能将其拉过来。
希望有人可以为我解决这个问题,因为据我所知,我将无法升级到 CTP5。
c# - Entity Framework CTP5 Code First:使用非原始类型作为键
我有一个项目,它有很多数据结构,我想在其中引入一个数据库。我正在研究 Entity Framework CTP5 的代码优先功能。
现在,我为我的每种类型使用了不同的标识符类型(例如 TypeAIdentifier、TypeBIdentifier 等)。这很好,因为它在使用这些标识符时允许类型安全。问题是我似乎无法让 EF 使用非原始类型作为标识符。http://blogs.msdn.com/b/efdesign/archive/2010/03/30/data-annotations-in-the-entity-framework-and-code-first.aspx中有提示:
实际上,以下程序会引发异常:
奇怪的是,这个程序抛出了一个 MissingMethodException (“没有为此对象定义无参数构造函数”),但我确信这与 KeyAttribute 有关,因为以下任一情况都会使程序运行:
- 删除[键];或者
- 将 [Key] 移动到 IntValue。
如何让 EF 将我的标识符类映射为 PK?想到的两个选项:
- 想办法让 EF 使用非原始类型作为 PK。
- 将“int”作为 PK 并让 EF 将此“int”转换为 MyIdentifier(这样做的缺点是,如果我决定使用“int”以外的其他东西,我将不得不同时更新 MyIdentifier 和映射,但它至少会让我保持标识符类型的安全性)。我认为 Function Imports 会让我这样做,但它似乎是建立在存储过程之上的。
有没有办法做到这一点?
entity-framework - EF CTP5 - 强类型急切加载 - 如何包含嵌套导航属性?
试图将我们的 EF4 解决方案转换为 EF CTP5,但遇到了问题。
这是模型的相关部分:
相关关系: - 一个县有多个城市 - 一个城市有一个州
现在,我想执行以下查询: - 获取系统中的所有县,并包括所有城市,以及这些城市的所有州。
在 EF4 中,我会这样做:
在 EF CTP5 中,我们有一个强类型的 Include,它需要一个Expression<Func<TModel,TProperty>>
.
我可以毫无问题地为县获得所有城市:
但是我怎样才能获得这些城市的状态呢?
我使用的是纯 POCO,所以County.Cities
是ICollection<City>
,因此我不能这样做:
AsICollection<City>
没有名为 的属性State
。
这几乎就像我需要使用嵌套的 IQueryable。
有任何想法吗?在这种情况下,我是否需要回退到魔术字符串 Include ?
entity-framework-4 - EF4 CTP5 - HasColumnType 不起作用
我想将我的字符串列之一的默认 nvarchar(4000) 覆盖为 SQL Express 中的文本数据类型。我使用此代码。
但是列类型仍然是 nvarchar?
entity-framework - EF Linq 到实体查询为 TPC CTP5 代码优先实体生成 UNION
我有以下实体:
我正在使用 Table Per Concrete Type (TPC) 配置实体,以生成 User 表和 HappyUser 表。我希望 HappyUser 表包含 User 类的属性,并且我不希望这两个表之间有任何关系。
我将实体配置如下:
表生成正确,但是当我查询表时,EF 在 User 和 HappyUser 表上生成一个 UNION。查询如下:
用户的 SQL 生成一个 UNION。这不是我所期望或想要的。我想简单地从用户表中检索行。
HappyUsers 的 SQL 按预期工作。
任何想法我做错了什么?或者这是 EF 的缺陷?
entity-framework-4 - CTP5 POCO Code-Only,如何将主从记录添加到数据库
我正在尝试 EF CTP5 POCO,并从 EF4 EntityModel 转换为 POCO 仅代码方法。
所以将我的旧代码从 EF4 模型转换为 POCO,我应该添加新的发票和行。我曾经创建主类并将详细信息添加到主类本身的实例中。
inv.Lines <== 此时为空,所以我不能在发票本身的实例中添加一行我应该创建 InvoiceLines 的集合并设置它,还是有其他方法可以做到这一点。
简而言之,我如何使用 POCO 代码 (CTP5) 将主/明细行添加到我的数据库中。
entity-framework - 使用代码优先 EF CTP5 生成货币类型字段
在这篇博文中:EF4 Code First Control Unicode and Decimal Precision, Scale with Attributes中,Dane Morgridge使用属性来控制数据库上不同类型的创建。
...我发现这个非常独特的顺便说一句!
如何使用 EF CTP5 的代码优先 API 在生成的数据库中生成货币类型字段,如果可以从您的模型中使用约定或属性来生成?
对不起,我的英语不是我的主要语言。
提前致谢。
c# - 如何使用存储库模式(或更合适的方式)来实现这一点?
我有一个名为:IChocolateRepository 的存储库
它派生自通用存储库接口 IRepository<>,它定义了基本存储库功能(FindAll、Delete、Add 等)
现在,我需要编写一段代码,它将删除“数据库中所有巧克力在提供的日期之前的到期数据”(假设 ExpiryDate 是 Chocolate 模型类上的一个不可为空的属性。)
这是否属于存储库?
另外,示例实现会是什么样子?(我使用的是EF CTP5)