簡體   English   中英

帶有實體框架6的手工POCO?

[英]Handmade POCO with Entity Framework 6?

我正在考慮將EF 6用於即將在一個大型組織中進行的小型項目。 擁有POCO業務對象對我來說是必不可少的,但是我找到的有關使用EF進行POCO的所有選擇似乎都依賴於自動生成工具,這些工具試圖將整個數據庫結構映射到POCO對象。 我們有許多數據庫,數百個表和數百個視圖,並且我暫時只想使用其中一些表(並且任何一個項目都只希望使用其中的一小部分)。

另外,我不想映射出這些表存儲的許多外部屬性,甚至某些普通屬性。 所以我真的很想手工制作這些POCO對象,然后將它們連接到EF並讓它進行映射-我希望仍然能夠使用EDMX文件,並且如果可能的話不必創建自己的ObjectContext 。

我覺得這似乎很簡單,但是我真的找不到任何資源! 如果有人能指出正確的方向,那將真的很有幫助。

實體框架具有“代碼優先”方面,也可以僅映射到現有表。 這使您可以使用POCO來代表您的表。 您可以創建映射類,使您可以將POCO與數據庫映射邏輯分開。

您可以指定表列的命名與POCO是否不同。 但是,如果兩者之間沒有區別,則可以忽略它。

using ProjectName.Models;
using System;
using System.Collections.Generic;
using System.Data.Entity.ModelConfiguration;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

public class ProfileMapping : EntityTypeConfiguration<Profile>
{
    public ProfileMapping()
    {
        // Primary Key
        this.HasKey(t => t.Id);

        // Map POCO name to Column Name
        this.Property(t => t.Firstname)
            .HasColumnName("First_Name")
            .HasMaxLength("256");


        // Table Mapping
        this.ToTable("Profiles");

        // Relationships
        this.HasRequired(t => t.Roles);
    }
}

使用DbContext可以注冊這些映射。

我建議使用Entity Framework Power Tools從現有數據庫生成DbContext。

http://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d

查看http://www.asp.net/mvc/tutorials/mvc-5/database-first-development/setting-up-database

為每個數據庫創建一個edmx,然后可以選擇要導入的對象。

如果您已有數據庫,請首先查看數據庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM