我是动手设计数据库的新手,我不想先使用 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 及其包含的项目一起返回?