小编Aja*_*ale的帖子

与Code First Entity Framework的单向多对多关系

我是EF的新手,并试图通过代码优先方法获得多对多的单向关系.例如,如果我有两个类(不是我的真实模型),它们之间是N*N关系,但没有来自"Customer"方面的导航属性.

public class User {
   public int UserId { get; set; }
   public string Email { get; set; }
   public ICollection TaggedCustomers { get; set; }
}
public class Customer {
  public int CustomerId { get; set; }
  public string FirstName { get; set; }
  public string LastName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

映射代码看起来像......

modelBuilder.Entity()
        .HasMany(r => r.TaggedCustomers)
        .WithMany(c => c.ANavgiationPropertyWhichIDontWant)
        .Map(m =>
        {
            m.MapLeftKey("UserId");
                m.MapRightKey("CustomerId");
                m.ToTable("BridgeTableForCustomerAndUser");
        });
Run Code Online (Sandbox Code Playgroud)

这种语法迫使我对"Customer"实体使用"WithMany".以下网址是"按照惯例,Code First总是将单向关系解释为一对多".

是否可以覆盖它,或者我应该使用任何其他方法?

entity-framework-4.1

21
推荐指数
1
解决办法
3381
查看次数

EditorFor不在没有BeginForm的情况下呈现数据验证属性

在MVC应用程序中,我想动态渲染表单的某些部分(就像控制器端的PartialView)

在局部视图中,我没有Html.BeginForm(),因为表单标签已经呈现.

@model Introduction.Models.Human
<div>
    @Html.EditorFor(model => model.MarriageInformation.SpouseDetails)
    <div class="editor-label">
        @Html.LabelFor(model => model.MarriageInformation.DOM)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.MarriageInformation.DOM)
        @Html.ValidationMessageFor(model => model.MarriageInformation.DOM)
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我面临的问题是在这种情况下,EditorFor不会返回所有data-val-*属性.

<div>
   <div class="editor-label">
    <label for="MarriageInformation_SpouseDetails_Name">Name</label>
</div>
<div class="editor-field"><input class="text-box single-line" id="MarriageInformation_SpouseDetails_Name" name="MarriageInformation.SpouseDetails.Name" type="text" value="" /> 
Run Code Online (Sandbox Code Playgroud)

这是设计还是我在这里遗漏了什么?这附近有工作吗?

我想的选项是在ajax加载之后 - 剥离表单并注入内部内容.

c# asp.net-mvc-3

16
推荐指数
1
解决办法
7581
查看次数

List <T>的Reset方法的行为.Enumerator

遵循两种方法(一种使用IEnumerator<int>和其他用途List<int>.Enumerator)即使外观相同也会产生不同的结果.

static void M1()
{
  var list = new List<int>() { 1, 2, 3, 4 };
  IEnumerator<int> iterator = list.GetEnumerator();
  while (iterator.MoveNext())
  {
     Console.Write(iterator.Current);
  }
  iterator.Reset();
  while (iterator.MoveNext())
  {
      Console.Write(iterator.Current);
  }
}
static void M2()
{
  var list = new List<int>() { 1, 2, 3, 4 };
  //Here the iterator will be List<int>.Enumerator (which is a struct)
  var iterator = list.GetEnumerator();
  while (iterator.MoveNext())
  {
     Console.Write(iterator.Current);
  }
  //This will not work, as Reset method was implemented explicitly …
Run Code Online (Sandbox Code Playgroud)

.net c# ienumerator list

10
推荐指数
1
解决办法
448
查看次数

SVG-高度和宽度百分比在HTML5中不起作用

我有一个SVG,其宽度和高度设置为100%,属性“ preserveAspectRatio”设置为“ xMidYMid Meet”。

使用谷歌浏览器时,添加标记(将其设为HTML5)后,行为会发生变化。SVG元素不会占据页面上的所有空间,并且SVG的高度会根据宽度自动设置。

没有DOCTYPE的HTML-按预期工作

<html>
  <head>
    <style>
      body{
        padding:0;
        margin:0;
      }
    </style>
  </head>
  <body>
      <svg xmlns="http://www.w3.org/2000/svg" 
           version="1.1"
           style="width:100%;height:100%;background-color:#0f0"
           preserveAspectRatio="xMidYMid meet"
           viewBox="0 0 100 150">
        <rect 
            x="11" 
            y="11" 
            width="80" 
            height="130"
            style="stroke: #000000; fill:none;"/>
      </svg>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

带有DOCTYPE的HTML-不起作用

<!DOCTYPE HTML>
<html>
  <head>
    <style>
      body{
        padding:0;
        margin:0;
      }
    </style>
  </head>
  <body>
      <svg xmlns="http://www.w3.org/2000/svg" 
           version="1.1"
           style="width:100%;height:100%;background-color:#f00"
           preserveAspectRatio="xMidYMid meet"
           viewBox="0 0 100 150">
        <rect 
            x="11" 
            y="11" 
            width="80" 
            height="130"
            style="stroke: #000000; fill:none;"/>
      </svg>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

注意::内联结果片段可能不正确,请参阅Plunker

没有
DocType的柱塞有DocType的柱塞

html5 svg

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

标签 统计

c# ×2

.net ×1

asp.net-mvc-3 ×1

entity-framework-4.1 ×1

html5 ×1

ienumerator ×1

list ×1

svg ×1