实体框架 - 查询继承
我的家庭作业任务是制作一个任务跟踪器。我想学习这个作业的实体框架,特别是如何使用继承方面。项目、任务和子任务都有很多相似的属性,所以我想我会使用继承,但不知道如何查询特定项目。
我在 Visual Studio 中绘制了此图:
然后我从该模型创建了数据库。我如何获得员工项目?
我是这样开始的:
ModelContainer m = new ModelContainer();
var employee = (from e in m.Employees
where e.UserName == username
select e).First<Employee>();
但是 ((Employee)employee).Projects
不可用,但 ((Employee)employee).Items
可用。 ((Employee)employee).Items.Projects
也不可用。我如何获得员工的项目?我应该为此向员工添加导航属性吗?
I was tasked as a homework assignment to make a task tracker. I wanted to learn entity framework for this assignment, especially how to use the inheritance aspects. Projects, tasks and sub-tasks all have a lot of similar properties, so I thought I would use inheritance, but can't figure out how to query particular projects.
I drew this diagram in Visual Studio:
I then created the database from this model. How can I get an Employees Projects?
I've started with this:
ModelContainer m = new ModelContainer();
var employee = (from e in m.Employees
where e.UserName == username
select e).First<Employee>();
But ((Employee)employee).Projects
is not available, but ((Employee)employee).Items
is. ((Employee)employee).Items.Projects
is also not available. How do I get an Employee's projects? Should I add a Navigation Property to Employees for this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您必须使用 Queryable.OfType(TResult) 扩展方法为了过滤 Manager 类型的实体:
相关资源:
You'll have to use the Queryable.OfType(TResult) extension method in order to filter the entities of type Manager:
Related resources: