【发布时间】:2011-04-24 19:53:44
【问题描述】:
我需要将复杂数据类型的实例存储到关系数据库中。 有没有一种方法可以在不首先对数据库结构进行建模的情况下做到这一点,就像在 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; }
}
所以,正如我所说,我可以创建这些类的实例并将它们写入数据库。但是当我尝试从数据库数据创建新实例时,只有 int 和“Bar”类型的字符串被恢复,但 Foos 的集合是空的。我的数据库上下文如下所示:
class DBstructure: DbContext
{
public DbSet<Foo> Foos { get; set; }
public DbSet<Bar> Bars { get; set; }
}
有什么想法吗?
【问题讨论】: