对象关系映射

Juc*_*ker 5 .net c# mapping orm

我需要将复杂数据类型的实例存储到关系数据库中。有没有办法在不先对数据库结构进行建模的情况下做到这一点,就像在 ado.net 中所做的那样?应从类结构创建数据库(或表)结构。该类具有一些属性,如整数、字符串或布尔值,但也可能具有更复杂的属性。我很感激每一个帮助建议...

我想在 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; }
}
Run Code Online (Sandbox Code Playgroud)

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

class DBstructure: DbContext
{
    public DbSet<Foo> Foos { get; set; }
    public DbSet<Bar> Bars { get; set; }
}
Run Code Online (Sandbox Code Playgroud)


任何的想法?

Ram*_*Vel 2

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

您可以在 ScottGu 的文章Code-First Development with Entity Framework 4中阅读更多相关内容