我需要将复杂数据类型的实例存储到关系数据库中.
有没有办法在没有首先修改数据库结构的情况下执行此操作,就像在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 后发表这篇文章