0

我有名称的表,例如

JS Engineering Services$Web 用户设置标题 Sachin Sales & Service Pvt Ltd$Web 用户设置标题

我如何使用 Ado.net 实体框架 POCO 代码优先方法映射这些表?表结构相同。我已经使用单表名称和模式完成了 POCO,因为 Dbo 只是声明了类似的表

网络用户设置。

另外,我想问一下如何创建带有空格的名称等表格。正如我所提到的那样。如果我们想用空格创建表名如何动态生成表名作为

Sachin Sales & Service Pvt Ltd$Web 用户设置标题

在 Codefirst 方法中使用 Ado.net Entity 框架?

以前我使用 Nhibernate 所以最近转移到 Ado.net 实体框架。喜欢 Ado.net Codefirst 方法中的 Fluent 配置。有人可以用上述场景指导我如何处理它吗?任何虚拟属性都将受到欢迎。没关系 。我只是想动态生成表名基于两个场景包含完全相同的列的事实

4

1 回答 1

0

...不确定这是否是您要寻找的东西,但这里似乎有两件事要解决:

表命名,您是否尝试过以下...
(来自您的: DbContext实现类,方法protected override void OnModelCreating(DbModelBuilder modelBuilder)

modelBuilder.Entity<JSEngineeringServicesWebUser>()
    .ToTable("JS Engineering Services$Web User");

(注意:您可能需要对此进行试验,我没有使用此类名称,也没有方便测试,请快速尝试)

另一个选项是[Table("JS Engineering Services$Web User")]用作实体类的属性。(注意:我个人更喜欢流畅的方法,因为它可以让你更好地控制(对于其他事情、键、关系),并且在“混合”两者时通常效果不佳)

...或者看看这个,类似的问题我可以更改实体框架 4.3 代码优先中的默认模式名称吗?

第二个问题是这些表可能是“临时表”。这有点难以实现。但是,如果您将它们放在 Db 中(只是作为临时表查看和工作),那么您可以继续像任何其他实体一样进行映射。

如果您需要动态创建和拆除 - 请在此处考虑这篇文章,其中包含类似的内容......

使用 Entity Framework 4 缓存表

编辑:从下面的评论,更新...

如果“临时”表总是像你说的那样 -

然后,您应该可以使用 Entity Framework 4 缓存表中的内容- 创建一个模型以匹配表模型,或者甚至您可能需要创建一个这样的表(要始终存在,我不确定是否代码优先如果在开始时没有匹配项,或者在不检查的情况下使用“使用现有数据库”运行),可能会抱怨,并使用“直接”SQL 运行查询(来自上下文类,如链接中所述) - 然后列出该模型类的输出。它可能只是工作:)

于 2012-04-05T16:12:27.317 回答