相关疑难解决方法(0)

使用实体框架(.edmx模型)和Razor视图创建MVC3的下拉列表&&将数据库记录插入多个表

在阅读了有关如何使用Razor Views在MVC 3中创建DropDown列表的100篇文章后,我找不到适合我的情况.

情况: 我最终尝试创建一个将员工添加到数据库的视图.

这是我正在使用的.EDMX模型的图像(create()将使用的表.):

在此输入图像描述

目标:

  1. 创建一个Employee(我有使用部分视图为StaffNotify复选框创建的Create.cshtml(强类型)){我在创建视图的Notify部分视图中使用单独的@model,不确定这是否安全??? @model ShadowVenue.Models.Employee&@model ShadowVenue.Models.StaffNotify)

  2. 为StaffTypeId创建一个下拉框(它将从表"StaffType"中插入[StaffTypeId]值(其具有1对多的关系),但会在下拉列表中显示[Type]字符串值)

  3. 为GenderId创建一个下拉框(将从表"Genders"中插入[GenderId]值(具有1对多的关系),但会在下拉列表中显示[Gender]字符串值)

  4. 将记录插入数据库(我在StaffId主键上具有1对1关系的单独表中具有员工通知)

我似乎遇到了控制器代码的问题.

我不确定我是否应该在EDMX模型中创建存储过程,或者提出一些查询或方法语法,不确定哪种方法最好.

这是我使用实体框架模型的第一个大型MVC3应用程序.

(如果您需要知道任何导航属性名称以帮助解决方案,请告诉我,我会将它们提供给您)

entity-framework edmx html.dropdownlistfor razor asp.net-mvc-3

49
推荐指数
2
解决办法
14万
查看次数

没有实体框架的asp.net mvc

我正在学习asp.net mvc,并经历了一个很好的教程,证明了它.该教程还使用了Entity Framework.

我们有自己的数据访问类,我必须使用它.关于我们需要做什么来弥合我们的类和MVC框架之间的差距,我有点困惑.例如,在教程中,在MovieController.cs文件中,有一个Edit方法,如下所示:

[HttpPost]
        public ActionResult Edit(Movie movie)
        {
            if (ModelState.IsValid)
            {
                db.Entry(movie).State = EntityState.Modified;
                db.SaveChanges();
                return RedirectToAction("Index");
            }
            return View(movie);
        }
Run Code Online (Sandbox Code Playgroud)

如果我不使用Entity框架,它会是什么样子?我是否仍然需要使用ModelState.IsValid并像完成一样保存状态

db.Entry(movie).State = EntityState.Modified;
Run Code Online (Sandbox Code Playgroud)

请指教.一个明确的使用asp.net mvc而不使用Entity框架的例子会很棒.

我需要知道的是,状态在这里扮演什么角色,是否强制使用,或者它只是实体框架运作的一部分.

我会把它重写为:

[HttpPost]
public ActionResult Edit(Movie movie)
{
    myDBObject.SaveChanges();
    return RedirectToAction("Index");

}
Run Code Online (Sandbox Code Playgroud)

myDBObject是我的自定义数据库访问对象.

asp.net-mvc modelstate

13
推荐指数
1
解决办法
2万
查看次数

ASP.NET MVC 3和NHibernate脚手架

我找到了这篇文章[ http://blog.stevensanderson.com/2011/01/13/scaffold-your-aspnet-mvc-3-project-with-the-mvcscaffolding-package/ ],它解释了如何使用MVC脚手架在EF中使用一对多关系创建一个列表框,其中包含枚举集合作为选择.

我尝试在我的项目中使用它,但我遇到了一个问题 - 我不想使用EF(或包含对它的引用).我正在使用POCO,然后使用存储库模式进行映射并使用NHibernate进行持久化.

有没有办法为POCO创建相同的脚手架列表框,而无需创建文章创建的DataContext.

编辑:我知道如何手动执行此操作,我正在寻找一种方法来为我做这个脚手架代码.

nhibernate scaffolding asp.net-mvc-3

5
推荐指数
1
解决办法
2469
查看次数

LINQ to SQL或Entity Framework再次为新的MVC 3项目

首先,我的背景是:MS SQL Server上相当大的数据库(约100个表,每个约10-20列),它始终是SQL Server和数据库.

我在WebForms和LINQ to SQL方面有一些经验,但是我厌倦了构建用于编辑所有提到的表的表单,所以mvc 3 razor用它的Scaffolding只是催眠了我,我梦想它为我生成所有形式

但它出来(或者,也许,我没有得到的东西),脚手架只适用于EF DbContext.对于L2S,它说"不支持的DbContext".我已经尝试使用LinqToSqlScaffolding进行MvcScaffolding(在PM控制台中键入'Set-DefaultScaffolder Repository LinqToSqlScaffolding.Repository'),但仍然不是L2S相关映射.

所以第一个问题是 - "有没有办法(一种稳定的方式)来获取Linq to SQL类的脚手架"

现在我已经调查了一些并发现了所有关于L2S与EF的话题,并说同样的话 - "L2S排在第一位,所以它更稳定,EF还很年轻,但它是一个长镜头,它是灵活的,可映射的,所以上".

我没有得到的第一件事是我应该如何为我的企业数据库映射灵活的模型?我已经使用设计器为EF DbContext生成类,正如我之前为L2S所做的那样,而对于L2S,它由~42000行组成.现在我必须在那里搜索一些实体属性并为它们设置一些属性,如"必需","显示"和"范围",但设计师将覆盖它们.我知道如何实现部分类或部分方法,但不知道在外部文件中对属性进行任何添加,因为设计者无法覆盖它们.我想,这应该是第二个问题.

如果我应该手动将我的企业数据库映射到EF,以保持灵活性... o_O〜42000行自动生成的类让我害怕!真的有必要吗?

entity-framework scaffolding linq-to-sql asp.net-mvc-3

3
推荐指数
1
解决办法
1631
查看次数