سلام
ایراد کار من با کد زیر چیه؟
من با استفاده از یک تابع ، میخام اطلاعات یک جدول SQL رو به صورت درختی نمایش بدم ولی در زمان اجرا با این خطا مواجه میشم:
{"Only arguments that can be evaluated on the client are supported for the String.Contains method."}



void Load_rooms()
{
TreeView1.Nodes.Clear();
TreeView2.Nodes.Add("", "لیست اتاق ها", 0);

//------------------------------------------------
var db = new LinqDataContext();
// انتخاب لیست طبقات اصلی
var room = (from s in db.Hotels where s.parent == -1 select s.name).ToList().Distinct();


foreach (var item in room)
{

TreeView1.Nodes[0].Nodes.Add("", item.ToString(), 1);
var child = (from m in db.Hotels where
item.Contains(m.parent.ToString()) select m.name).ToList();


foreach (var item2 in child)
{
TreeView1.Nodes[1].Nodes.Add(item2.ToString());
}
}

}





و اینکه به چه صورت میتونم این تابع رو به صورت بازگشتی بنویسم به صورتی که تمام زیر مجموعه هارو تا سطح n به صورت خودکار نمایش بده