标签: entity-framework-5

发布后保留表单值(不是模型的一部分)

我有一个MVC4页面,其中包含一个表单,其中包含一组复选框,单选按钮和用作搜索字段的文本框.在发布后,将解析选择,并使用新结果更新下部结果网格.现在,所有表单值在返回时都被清除,新结果显示在网格中 - 只有网格是模型的一部分.

我希望所有表单选择在发布后保留其值,以便用户可以查看(和更改)下一个帖子/搜索的选择.表格上印有viewbags.

@using (Html.BeginForm("Index", "Home", FormMethod.Post, new { id = "searchform" }))
{
    @Html.ValidationSummary("Please correct the following errors")

<div style="float:left;">

    <div style="float:left;">
    <label>Name:</label>
    @Html.TextBox("name")
    </div>

    <div style="float:left; margin-left:15px">
    <label>Company:</label>
    @Html.TextBox("company")
    </div>

    <div style="float:left; margin-left:65px">
    <label>Date Range:</label>
    @Html.TextBox("dateStart", "", new { @class = "datefield", type = "date" })
    &nbsp;to&nbsp;
    @Html.TextBox("dateEnd", "", new { @class = "datefield", type = "date" })
    </div>

</div>

<div style="clear: both;">
    Match Any Categories? <input type="radio" name="categoryMatchAll" value="false" checked="checked" />&nbsp;&nbsp;&nbsp;
    Match All Categories?  <input type="radio" …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc-4 entity-framework-5

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

具有多个Web配置转换的实体框架迁移

我使用Entity Framework 5在Visual Studio 2010中创建了一个ASP.NET MVC 4项目,并启用了迁移.我有不同环境(调试,登台,发布)的多个Web配置文件,它们将根据环境指定不同的数据库连接字符串.如何使用Update-Database包管理器控制台中的命令和多个配置文件来处理迁移?每次运行此命令时,它都默认为主Web.config连接字符串.在此先感谢您的帮助.

entity-framework asp.net-mvc-4 entity-framework-5

6
推荐指数
1
解决办法
2969
查看次数

EntityFramework Migration指定web.config

我正在使用MV4和EF5.有没有办法让EntityFramework Migration从web.debug.config或web.release.config中提取连接字符串.

除非连接字符串在web.config中,否则运行update-database似乎会抛出错误

asp.net-mvc entity-framework entity-framework-5

6
推荐指数
1
解决办法
1395
查看次数

实体框架代码首先是多对多关系和继承

请原谅我,如果这个问题已在某个地方得到解答,我一直很难找到解决这个问题的方法.

我正在尝试在MVC4项目上设置EF Code First.我有一个继承自Person的用户和客户.然后我有一个Template对象,它与Customer有多对多的关系,与User有一对多的关系.以下是我设置的方法:

楷模

public class Person
{
    [Key]
    public int PersonID { get; set; }

    public string LastName { get; set; }
    public string FirstName { get; set; }

    public string FullName
    {
        get
        {
            return String.Format("{0} {1}", FirstName, LastName);
        }
    }

    public string Email { get; set; }

    public virtual List<Template> Templates { get; set; }
}

public class User : Person
{
    .... 
}

public class Customer : Person
{
    ....
}

public class Template
{ …
Run Code Online (Sandbox Code Playgroud)

ef-code-first asp.net-mvc-4 entity-framework-5

6
推荐指数
1
解决办法
2765
查看次数

渴望用原始SQL加载实体

我知道在Entity Framework(Code First)中可以使用原始SQL加载实体,如下所示:

using (var context = new BloggingContext())
{
    var blogs = context.Blogs.SqlQuery("SELECT * FROM dbo.Blogs").ToList();
}
Run Code Online (Sandbox Code Playgroud)

但是,是否有可能以某种方式急切地使用此方法加载导航属性?我想写一个自定义查询,加载一个复杂的实体,并急切加载其导航属性(使用EF Includes已证明太慢).

.net c# entity-framework ef-code-first entity-framework-5

6
推荐指数
1
解决办法
1039
查看次数

从数据库上传模型时丢失dataAnottation

我有一个很大的数据库现有数据库,我首先使用EF 5.0数据库,我遇到的问题是,如果我[stringlength(50)]在类上创建任何数据装饰然后上传数据库,当我"上传从数据库"所有数据注释都消失了.如何保留它们?

data-annotations ef-database-first asp.net-mvc-4 entity-framework-5

6
推荐指数
1
解决办法
3440
查看次数

为什么Entity Framework 5在同一实体上执行.ToList()与.Count()时会查询不同的表?

我正在使用Entity Framework使用Entity Splitting将两个表映射到一起,如此此处所述.

我发现如果我执行一个.ToList()on IQueryable<SplitEntity>然后结果来自内部连接.但是,如果我使用相同的IQueryable并执行.Count()它将返回完全连接返回的记录数.

这是一个失败的单元测试:

    [TestMethod]
    public void GetCustomerListTest()
    {
        // arrange
        List<Customer> results;
        int count;

        // act
        using (var context = new DataContext())
        {
            results = context.Customers.ToList();
            count = context.Customers.Count();
        }

        // assert
        Assert.IsNotNull(results); // succeeds
        Assert.IsTrue(results.Count > 0); // succeeds. Has correct records from inner join
        Assert.AreEqual(count, results.Count); // This line fails. Has incorrect count from full join.
    }
Run Code Online (Sandbox Code Playgroud)

这让我觉得非常糟糕.我怎样才能让.Count()方法从内部连接返回结果.ToList()

更新 - SQL

我对完全与内部连接错了. …

linq-to-entities entity-framework entity-framework-5

6
推荐指数
1
解决办法
686
查看次数

如何在自引用关系上设置级联?

我有默认场景,你有Category自己,RootCategoryChildCategories.如何指定我的流畅模型构建器以在删除时级联所有子类别?

模型

public class Category
{
    public int Id { get; set; }
    public string Name { get; set; }

    public virtual Category RootCategory { get; set; }
    public virtual ICollection<Category> ChildCategories { get; set; }
    public virtual ICollection<Item> Items { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我试过了什么

我试图使用流畅的模型构建器,但是当我尝试更新数据库时,这个会出错.

在表'类别'上引入FOREIGN KEY约束'FK_dbo.Categories_dbo.Categories_RootCategory_Id'可能会导致循环或多个级联路径.指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束.

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Entity<Category>().HasOptional(x => x.RootCategory).WithMany(x => x.ChildCategories).WillCascadeOnDelete(true);
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc entity-framework asp.net-mvc-4 entity-framework-5

6
推荐指数
1
解决办法
2037
查看次数

实体框架POCO变更跟踪策略

我有一个N层应用程序,其中POCO由服务器端的实体框架填充并传输到我的客户端应用程序.客户端对POCO进行更改或添加新的POCO,然后将它们发送回服务器以存储在数据库中.

如果我使用纯POCO,即没有代理,而不是自我跟踪实体,那么人们采取哪些常见方法来解决变更跟踪问题?如果您的服务收到POCO集合,那么它如何知道使用实体框架进行添加,更新或删除?

poco entity-framework-5

6
推荐指数
1
解决办法
2140
查看次数

如何在CRUD功能中映射复合键

我需要根据两个键(comp和part)进行映射.

@foreach (var item in Model) {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.comp)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.part)
            </td>
             ...........................
            <td>
                @Html.ActionLink("Edit", "Edit", new { id=item.comp  }) |   
                @Html.ActionLink("Details", "Details", new { id = item.comp  }) |
                @Html.ActionLink("Delete", "Delete", new { id = item.comp  })
            </td>
        </tr>
    }
Run Code Online (Sandbox Code Playgroud)

如何在Index页面和控制器中使用复合键.

public ActionResult Edit(int? id)
    {
         DataView record = db.RecordDataView.Find(id);
            if (record == null)
            {
                return HttpNotFound();
            }
            return View(record);
        }
Run Code Online (Sandbox Code Playgroud)

如果有人有想法请回复.

composite-key entity-framework-5 asp.net-mvc-5

6
推荐指数
1
解决办法
1975
查看次数