我从我的数据库生成了一个实体框架模型(4.0).我没有设计数据库,也没有对模式的任何控制,但是有一些表没有定义外键约束,但是定义了隐式关系.
例如:
我有一个名为People的表,其中包含以下列:GenderID RaceID
有Gender和Race的表,但People表中没有外键.
当我导入模型时,它没有为这些关系添加导航属性.我尝试手动添加它,但禁用了"从角色到角色".我不确定如何自己添加关系.我该怎么做呢?
c# entity-framework navigation-properties entity-framework-4
我有以下域对象:
public class DomainClass
{
    public int Id { get; set; }
    public string A { get; set; }
    public string B { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我有以下两个要映射到的对象:
public class Parent 
{
    public int Id { get; set; }
    public string A { get; set; }
    public Child Child { get; set; }
}
public class Child 
{
    public int Id { get; set; }
    public string B { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我设置了以下地图:
 Mapper.CreateMap<DomainClass, Parent>();
 Mapper.CreateMap<DomainClass, Child>();
Run Code Online (Sandbox Code Playgroud)
如果我使用以下调用映射我的对象,则parent.Child属性为null.
var …Run Code Online (Sandbox Code Playgroud) 有没有办法在ASP.net MVC视图上放置SQL Server Reporting Services报表查看器控件?如果不是......实现这一目标的最佳方法是什么?
我有以下EF查询:
TestEntities db = new TestEntities();
var questions = from q in db.Questions.Include("QuestionType")
                from sq in db.SurveyQuestions
                where sq.Survey == surveyTypeID
                orderby sq.Order
                select q;
foreach( var question in questions ) {
    // ERROR: Null Reference Exception
    Console.WriteLine("Question Type: " + question.QuestionType.Description);
}
Run Code Online (Sandbox Code Playgroud)
当我访问QuestionType属性时,我得到一个空引用异常.我正在使用Include("QuestionType"),但它似乎不起作用.我究竟做错了什么?
编辑:当我启用了延迟加载时,它不会抛出空引用异常.
编辑:当我执行以下操作时,Include()似乎正在工作:
var questions = db.Questions.Include("QuestionType").Select(q => q);
Run Code Online (Sandbox Code Playgroud)
当我在一个单独的实体上进行谓词时,Include似乎失败了.使用Include时是不允许的?我的查询怎么样导致这个东西不起作用?
我在MVC中有以下模型:
public class ParentModel
{
    public string Property1 { get; set; }
    public string Property2 { get; set; }
    public IEnumerable<ChildModel> Children { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
当我想显示父模型的所有子项时,我可以这样做:
@Html.DisplayFor(m => m.Children)
Run Code Online (Sandbox Code Playgroud)
然后我可以创建一个ChildModel.cshtml显示模板,DisplayFor将自动遍历列表.
如果我想为IEnumerable创建自定义模板怎么办?
@model IEnumerable<ChildModel>
<table>
    <tr>
        <th>Property 1</th>
        <th>Property 2</th>
    </tr>
    ...
</table>
Run Code Online (Sandbox Code Playgroud)
如何创建具有模型类型的显示模板,IEnumerable<ChildModel>然后在@Html.DisplayFor(m => m.Children)没有抱怨模型类型错误的情况下调用?
我继承了HandleErrorAttribute我的MVC应用程序,所以我可以记录错误:
public class HandleAndLogErrorAttribute : HandleErrorAttribute
{
    public override void OnException(ExceptionContext filterContext)
    {
        base.OnException(filterContext);
        if( filterContext.Exception != null )
        {
            // log here
        }
    }
}
Run Code Online (Sandbox Code Playgroud)
我将其添加为全局过滤器:
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
    filters.Add(new HandleAndLogErrorAttribute());
}
Run Code Online (Sandbox Code Playgroud)
是否可以为特定的异常类型指定自定义视图?例如:
if( filterContext.Exception is DivideByZeroException )
{
    // how do i specify that the view should be DivideByZero?
}
Run Code Online (Sandbox Code Playgroud) 我在尝试将我的EF 4.1 Code First模型映射到数据库时遇到了麻烦.当数据库完全匹配代码时,一切正常,但当我尝试映射列名称不同时,我遇到了问题.
我正在学习一个必须使用其中一个CTP构建的教程,因为有些方法缺失/不同.
我的模型看起来像:
public class Dinner
{
    public int DinnerID { get; set; }  
    public string HostedBy { get; set; }
    public DateTime EventDate { get; set; }
    public string Title { get; set; }
    public string Address { get; set; }
}
public class NerdDinners : DbContext
{
    public DbSet<Dinner> Dinners { get; set; }
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        // THIS IS WHAT I TRIED BUT IT IS FAILING
        modelBuilder.Entity<Dinner>().Map(mc =>
            {
                mc.Properties(c => …Run Code Online (Sandbox Code Playgroud) 我在Knockout中有一个数据绑定,如果条件为真,则应用CSS类.当我在类名中使用破折号(例如测试类)时,我得到一个javascript错误.
这是一个演示问题的小提琴:http://jsfiddle.net/sgvem/2/
<p data-bind="text: property, css: { with-dash: property().length > 0 }"></p>
Run Code Online (Sandbox Code Playgroud)
有没有办法使用Knockout JS添加带破折号的类?
我有一个观点,/Views/Projects我正在调用以呈现局部视图:
@Html.Partial("_NotesPartial")
Run Code Online (Sandbox Code Playgroud)
我想渲染的视图实际上存在于/Views/Notes文件夹中,但我无法弄清楚如何告诉MVC搜索该特定调用的文件夹.是否有一个重载我可以调用让MVC在这个文件夹中查找此视图而不是Projects和Shared?
执行以下操作时是否存在任何差异:
public class UsersContext : DbContext
{
    public DbSet<User> Users { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
与使用Set<T>上下文的方法:
public class UsersContext : DbContext
{
}
var db = new UsersContext();
var users = db.Set<User>();
Run Code Online (Sandbox Code Playgroud)
这些有效地做了同样的事情,给了我一组用户,但是除了你没有通过属性暴露集合之外还有什么大的差异吗?
c# ×7
asp.net-mvc ×4
.net ×1
automapper ×1
dbcontext ×1
html ×1
javascript ×1
knockout.js ×1
reportviewer ×1