我有表格,如
JS工程服务$ Web用户设置标题和 Sachin Sales& Service Pvt Ltd $ Web用户设置标题
如何使用Ado.net实体框架POCO Code第一种方法映射这些表?表结构是相同的。我已经完成了POCO的单表名称和Schema作为Dbo只是声明表格
网络用户设置。
另外,我想问一下如何使用空格创建名称之类的表格。就像我上面提到的那样。如果我们想用空格创建表名如何动态生成表名为
Sachin Sales& Service Pvt Ltd $ Web用户设置标题
在Codefirst方法中使用Ado.net Entity框架?
之前我使用过Nhibernate,最近转移到了Ado.net Entity框架。喜欢Ado.net Codefirst方法中的Fluent配置。有人可以用上面提到的方案指导我如何处理它吗?任何虚拟属性都是受欢迎的。没关系。我想要动态生成表名基于这两个scemas包含完全相同的列的事实
答案 0 :(得分:0)
...不确定这是否是你想要的,但似乎有两件事要解决:
表格命名,您是否尝试了以下内容...
(来自您的: DbContext
实施类,方法protected override void OnModelCreating(DbModelBuilder modelBuilder)
)
modelBuilder.Entity<JSEngineeringServicesWebUser>()
.ToTable("JS Engineering Services$Web User");
(注意:您可能需要对此进行试验,我没有使用过这样的名称而且没有方便测试,快速尝试)
另一个选项是使用[Table("JS Engineering Services$Web User")]
作为实体类的属性。 (注意:我个人更喜欢使用流体方法,因为它可以让你获得更多的控制权(对于其他东西,键,关系),并且当“混合”两者时它通常不能正常工作)
...或者看看这个类似问题Can I change the default schema name in entity framework 4.3 code-first?
第二个问题是表格可能是'临时表'。实现这一点有点棘手。但是如果你在Db中拥有它们(只是查看并作为临时表工作)那么你可以继续前进并像其他任何实体一样映射。
如果你需要动态创建和拆除 - 请在这里考虑这篇文章,类似的东西......
Cache table with Entity Framework 4
编辑:来自以下评论,以更新...
如果'temp'表总是像你说的那样 -
然后你应该对Cache table with Entity Framework 4中的内容感到满意 - 创建一个匹配表模型的模型,甚至你可能需要创建一个这样的表(总是在那里,我不确定是否代码-first可能会抱怨如果在开始时没有匹配,或者使用'使用现有的数据库'进行w / o检查),并使用'直接'SQL运行查询(从上下文类,如链接中所述) - 和然后将输出列出到该模型类。它可能会起作用:))