Entity Framework 实体加载外键属性的问题

初学Entity Framework,碰到的问题,请路过的朋友指教,谢谢!

两个类 class1、class2

class1和class2是一对一关系。

class1.class2ID 指定为一个外键,指向class2.class2Id

数据库生成正常。

读class1为什么没有加载class1的class2属性?

代码和错误截图如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Entity;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            var c = new Class1
            {
                class1Int = 121,
                class1String = "c1String",
                class2 = new Class2
                {
                    class2Int = 122,
                    class2String = "c2String"
                }
            };

            var Tdb = new db();

            Tdb.c1.Add(c);
            Tdb.SaveChanges();

            var d = from a in Tdb.c1
                    select a;

            Console.WriteLine(d.Count());

            foreach (var item in d)
            {
          '这里出错.item.class2 现在为null.为什么没有加载呢?,请看截图 Console.WriteLine(item.class2.class2String); } Console.WriteLine(
"完成"); } } public class Class1 { public int class1Id { get; set; } public int class1Int { get; set; } public string class1String { get; set; } public int class2Id { get; set; } [System.ComponentModel.DataAnnotations.Schema.ForeignKey("class2Id")] public Class2 class2 { get; set; } } public class Class2 { public int class2Id { get; set; } public string class2String { get; set; } public int class2Int { get; set; } } public class db : DbContext { public DbSet<Class1> c1 { get; set; } } }

 错误截图

数据库截图

 

谢谢各位指点!

posted @ 2013-04-01 19:37  不装不臊  阅读(1682)  评论(6编辑  收藏  举报