【问题标题】:Scaffolding entity relationships with MVC5 EF6使用 MVC5 EF6 搭建脚手架实体关系
【发布时间】:2014-06-02 06:26:56
【问题描述】:

我正在使用 Entity Framework 6 学习 MVC 5。如何使模型支持我的类之间的关系。就像一个员工可以有多个任务一样。是否可以让脚手架自动设置?

我已经阅读了一些早期版本的类似教程,但它们似乎并不适用。因此,我向具有 EF6 的 MVC5 经验的人寻求答案。

【问题讨论】:

    标签: asp.net-mvc entity-framework


    【解决方案1】:

    在没有任何代码的情况下,这就是在 EF6 中设置一对多关系真正需要做的事情:

    public class Employee
    {
        public int ID { get; set; }
        public string name { get; set; }
        public List<Task> Tasks { get; set; }
    }
    
    public class Task
    {
        public int ID { get; set; }
        public string Title { get; set; }
    
        public Employee AssignedEmployee { get; set; } //Not required, but it would be nice to easily access the owner of a task from code.
        [ForeignKey("AssignedEmployee ")]
        public int EmployeeID { get; set; } //Also not required, but comes in handy often. Just holds the ID of the assigned employee. I always include this, but it's just a preference.
    }
    

    只需记住将这些作为属性添加到类中并添加到您的 EF 上下文中。这是一个简单的示例,因为您对想要实现的目标不是很具体。 :)

    【讨论】:

    • 如果我要脚手架,它会设置添加任务时如何选择员工吗?我想做的是理解脚手架,因为我只能让它设置简单的属性,而不是我自己的类型。而且我看不出如果脚手架不支持它会有多大用处。感谢您的回答!
    • 脚手架是一个不错的功能,但它只能做这么多。例如,如果您要搭建一个创建任务视图,搭建引擎将为 EmployeeID 创建一个编辑器,您可以在其中编写相关员工的 ID。这当然不是一个好的用户体验,所以通常可以通过下拉列表来实现,例如,您可以在其中选择员工。脚手架引擎无法为您做到这一点,但您自己做到这一点并不难。
    • 谢谢!然后我知道去哪里了。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-25
    • 2013-11-13
    • 2018-01-11
    • 2019-06-06
    • 2015-07-21
    • 2013-11-23
    相关资源
    最近更新 更多