如何比较POCO类和数据库?

时间:2013-04-04 13:07:33

标签: c# entity-framework entity-framework-4 smo roslyn

我需要将POCO类的内容与我的数据库进行比较。 我目前正在使用Microsoft RoslynMicrosoft.SqlServer.SMO并在我看来比较数据“粗略”。它工作得很好,但我想知道是否有更好的方法。

今天我必须使用Roslyn编译文件,加载数据库信息并比较我想要的内容。

假设我有这个POCO文件:

[Table("XPTO", Schema="ASD")]
public class MyPoco 
{
    public int PropId {get; set;}
    public virtual Prop Prop {get; set;}
    public DateTime? MyDate {get; set;}
}

我也有表格信息。我想看看我的POCO类(MyDate)中可以为空的是否可以在我的数据库中为空,反之亦然。我想查看我的数据库是否有Foreign Key到表格Props,以及它是否在我的POCO中不可为空。

正如我所说,它已经在今天工作,我只是想重写代码以使用更有效的方式进行维护。

EntityFramework是否提供某种API或其他什么?

系统信息

SQL Server 2008 R2
Entity Framework 4.1
C# 4.0

由于();

1 个答案:

答案 0 :(得分:2)

如果我正确地阅读您的问题 - 您希望某些API在运行时从relationshiops或EF / code-first获取metadata和其他DbContext信息?

迄今为止我见过的最好的 - 我们两个人能做的最好的就是这个......

How I can read EF DbContext metadata programmatically?

...看看这是否可以帮助你...

  

如果您碰巧占有,欢迎您在那里发帖   一些新的和重要的信息(我们的目的是作为一个   像这样的科目的一站式问题。)