c# – 对象关系映射

我需要将复杂数据类型的实例存储到关系数据库中.

有没有办法在没有首先修改数据库结构的情况下执行此操作,就像在ado.net中完成一样?应该从类结构创建数据库(或表)结构.该类有一些属性,如整数,字符串或bool,但也可能有更复杂的属性.

我很感激每一个帮助建议……

我想在c#中这样做…

更新:

谢谢你的回复.我尝试了EF 4的“代码优先”(非常感谢Ramesh)并将我的对象放入数据库.但是现在我遇到了将数据从数据库中取回到对象实例的问题.我的课程看起来像这样:

class Foo {
    public int id { get; set; }
    public string Woot { get; set; } 
}

class Bar {
    public int id { get; set; }
    public string name { get; set; }
    public ICollection<Foo> FooList { get; set; }
}

所以,正如我所说,我可以创建这些类的实例并将它们写入数据库.但是当我尝试从db数据创建新实例时,只恢复了int和“Bar”类型的字符串,但Foos的集合是emtpy.我的db上下文如下所示:

class DBstructure: DbContext
{
    public DbSet<Foo> Foos { get; set; }
    public DbSet<Bar> Bars { get; set; }
}

任何的想法?

最佳答案 是的,这是可能的,您必须使用实体框架4.这种方法被称为“代码优先”.

你可以在ScottGu的Code-First Development with Entity Framework 4 后发表这篇文章

点赞