[英]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.