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; } } }

 錯誤截圖

數據庫截圖

 

謝謝各位指點!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM