0

我是动手设计数据库的新手,我不想先使用 Linq to Entities 代码等新功能,而是自己实现较低级别的东西。

如果我有一个类 Foo,它可以包含任何其他数量的 Foo,它可能看起来像这样:

class Foo
{
  int FooId;
  List<Foo> containedFoos;

...
}

假设 Foo 表看起来像

FooId, FooName, ContainingFooId (Foreign key to same table)

如果我首先使用代码并检索我所有的 Foos,它们的 containsFoos 列表将自动为我填充。

我的问题是,这是否在应用程序方面完成(只需直接select从 Foo 表中执行,并在 C# 中编写逻辑以构造 Foo,找到所有包含的Foo,构建列表等)

或者,SQL Server 有没有办法以更有用的方式返回数据?例如以某种方式将每个 Foo 及其包含的项目一起返回?

4

1 回答 1

1

不,SQL Server 不会返回这样的数据。您必须创建对象并手动填充它们以模仿 Code First 填充对象的方式。

仅这个原因就使 EF 从项目开始就非常有吸引力(对我而言)。它节省了大量时间。

于 2012-07-03T07:58:58.567 回答