具有如下所示属性的关系雇员的数据库架构,其类型指定为多值属性。
Employee = (ename, ChildrenSet multiset(Children), SkillSet multiset(Skills))
Children = (name, birthday)
Skills = (type, ExmSet setoff(Exams))
Exams = (year, city)attribute.
你能帮帮我吗?
发布于 2010-11-08 00:04:03
定义了上述模式,并为每个属性提供了适当的类型。
Employees
{
Employee_id, int, PK
Name, nvarchar(50)
}
Childs
{
Child_id, int, PK
Employee_id, int, FK
Name, nvarchar(50)
Birthday, date
}
Skills
{
Skill_id, int, PK
Employee_id, int, FK
Type, nvarchar(50)
}
Exams
{
Exam_id, int, PK
Skill_id, int, FK
Year, int
City, nvarchar(50)
}查找所有在2000年1月1日或以后出生的雇员的姓名,
MyDBEntities db = new MyDBEntities();
var result = from e in db.Employees
join c in db.Childs
on e.Employee_id equals c.Employee_id
where e.Birthday >= new DateTime(2000, 1, 1)
select e;在城市“代顿”中找到那些参加“打字”技能考试的员工。
var result = from e in db.Employees
join s in db.Skills
on e.Employee_id equals s.Employee_id
join x in db.Exams
on s.Skill_id equals x.Skill_id
where s.Type.Equals("typing") && x.City.Equals("Dayton")
select e;列出关系雇员中的所有技能类型
var result = from e in db.Employees
join s in db.Skills
on e.Employee_id equals s.Employee_id
select new EmployeeSkill()
{
EmployeeName = e.Name,
SkillType = s.Type
};底线是..。Linq2Sql rules :)
现在..。您只需将Linq转换为SQL,就可以完成作业;)
(你没想到会在这里完事,对吧?)
https://stackoverflow.com/questions/4117025
复制相似问题