我有一个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" })
to
@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" />
Match All Categories? <input type="radio" …Run Code Online (Sandbox Code Playgroud) 我使用Entity Framework 5在Visual Studio 2010中创建了一个ASP.NET MVC 4项目,并启用了迁移.我有不同环境(调试,登台,发布)的多个Web配置文件,它们将根据环境指定不同的数据库连接字符串.如何使用Update-Database包管理器控制台中的命令和多个配置文件来处理迁移?每次运行此命令时,它都默认为主Web.config连接字符串.在此先感谢您的帮助.
我正在使用MV4和EF5.有没有办法让EntityFramework Migration从web.debug.config或web.release.config中提取连接字符串.
除非连接字符串在web.config中,否则运行update-database似乎会抛出错误
请原谅我,如果这个问题已在某个地方得到解答,我一直很难找到解决这个问题的方法.
我正在尝试在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) 我知道在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已证明太慢).
我有一个很大的数据库现有数据库,我首先使用EF 5.0数据库,我遇到的问题是,如果我[stringlength(50)]在类上创建任何数据装饰然后上传数据库,当我"上传从数据库"所有数据注释都消失了.如何保留它们?
data-annotations ef-database-first asp.net-mvc-4 entity-framework-5
我正在使用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()?
我对完全与内部连接错了. …
我有默认场景,你有Category自己,RootCategory和ChildCategories.如何指定我的流畅模型构建器以在删除时级联所有子类别?
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
我有一个N层应用程序,其中POCO由服务器端的实体框架填充并传输到我的客户端应用程序.客户端对POCO进行更改或添加新的POCO,然后将它们发送回服务器以存储在数据库中.
如果我使用纯POCO,即没有代理,而不是自我跟踪实体,那么人们采取哪些常见方法来解决变更跟踪问题?如果您的服务收到POCO集合,那么它如何知道使用实体框架进行添加,更新或删除?
我需要根据两个键(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)
如果有人有想法请回复.