相关疑难解决方法(0)

带有ADO.NET实体框架的强类型ASP.NET MVC

经过几天的奋斗,我终于得到了这份工作.

我有一个简单的人员和部门数据库:

带有Department和Person对象的ADO.NET实体框架实体数据模型图http://img39.imageshack.us/img39/1368/edmxdepartmentperson.gif

我可以使用强类型的ASP.NET MVC视图作为参考/导航属性!查看部门列表......

带有DropDownList的ASP.NET MVC http://img11.imageshack.us/img11/7619/dropdownlistdepartment.gif

我的人物/编辑视图的一部分:

<% using (Html.BeginForm()) {%>
    <%= Html.Hidden("Id", Model.Id) %>
    <fieldset>
        <legend>Fields</legend>
        <p>
            <label for="Name">Name:</label>
            <%= Html.TextBox("Name", Model.Name) %>
        </p>
        <p>
            <label for="DepartmentId">Department:</label>
            <%= Html.DropDownList("DepartmentId", new SelectList((IEnumerable)ViewData["Departments"], "Id", "Name"))%>
        </p>
        <p>
            <input type="submit" value="Save" />
        </p>
    </fieldset>
<% } %>
Run Code Online (Sandbox Code Playgroud)

我的Person控制器的一部分:

//
// GET: /Person/Edit/5

public ActionResult Edit(Guid id)
{
    ViewData["Departments"] = ctx.Department;
    Person model = (from Person p in ctx.Person
                    where p.Id == id
                    select p).FirstOrDefault();
    return View(model);
}

//
// POST: …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc ado.net entity-framework

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

添加实体模型时出现错误3007

当我将实体模型添加到我的解决方案时,我收到错误3007.

我找到了这些链接:

好的探索

简短的回答

关于此错误:

错误1错误3007:从第89,94行开始映射片段中的问题:非主键列[Person_ID]正在两个片段中映射到不同的概念侧属性 - 数据不一致是可能的,因为相应的概念侧属性可以独立修改.

他们的回答:我同意他们的结论,即只需删除标量属性Person_ID并保留导航属性我的问题就解决了.然而,由于我正在动态构建我的数据库并且我的实体经常更新,因此这不是很可扩展.我不希望每次更新它时都要经历并清理我的实体.

我的问题:有没有办法通过纠正EF构建实体的方式来修复错误?或者有没有办法通过代码删除标量属性?也许甚至有一些我可以忽视的选择.

entity-relationship entity-framework

6
推荐指数
2
解决办法
9517
查看次数