بهار آموزش با تخفیف های شگفت انگیز توسینسو بهار آموزش با تخفیف های شگفت انگیز توسینسو
مانده تا پایان تخفیف
مشاهده دوره ها
0

عدم اعمال ِDateType و Schema از طریق FluentApi

سلام

من کد زیر را نوشته ام

	using System.ComponentModel.DataAnnotations.Schema;
	 
	 
	namespace Models.EntityModels.Date
	{
		public  class User
		{
			public User()
		{
	 
	 
		}
	 
	 
			internal class Cofiguration : System.Data.Entity.ModelConfiguration.EntityTypeCo  nfiguration<User>
			{
				public Cofiguration()
				{
					ToTable("User", "Panel")
					 .HasKey(c => c.UserId)
					 ;
					Property(c => c.UserId)
					   .HasColumnOrder(0)
					   .HasDatabaseGeneratedOption(DatabaseGeneratedOptio  n.Identity)
					   ;
					Property(c => c.UserName)
						.HasColumnOrder(1)
						.HasColumnName("UserName")
						.IsUnicode(false)
						.HasMaxLength(10)
						.IsFixedLength()
						.IsConcurrencyToken()
						;
					Property(c => c.Password)
						.HasColumnOrder(2)
						.HasColumnName("Password")
						.IsUnicode(false)
						.HasMaxLength(100)
						.IsVariableLength()
						;
					Property(c => c.HashCode)
						.HasColumnOrder(5)
						.HasColumnName("HashCode")
						.IsUnicode(false)
						.HasMaxLength(50)
						.IsVariableLength()
						;
				}
			}
			public int UserId { get; set; }
			public string UserName { get; set; }
			public string Password { get; set; }
			public string HashCode { get; set; }
		}
	}
using System.Data.Entity;
using Models.EntityModels.Date;
 
 
namespace Models.Base
{
    public class Context:DbContext
    {
        public Context()
        {
             
        }
        public DbSet<User> Users { get; set; }
    }
}

اما وقتی اطلاعات را در بانک ذخیر می کنم

DateType ستون UserName وPasswordوHashCode بصورت nvarchar(MAX) ذخیره میشود و همچنین Schema صورت dbo است در صورتی که باید nvarchar(MAX) نباشد و Schema هم بایدPanelباشد

برای حل این مشکل چکار باید کنم باتشکر

پرسیده شده در 1396/01/14 توسط

1 پاسخ

1

سلام و عرض ادب، داخل کلاس Context متدی هست به نام OnModelCreating که باید override کنید و داخلش map ای که نوشتید رو اضافه کنید:

public class Context : DbContext
{
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Configuration.Add(new Models.EntityModels.Date.User.Configuration());
    }
}
پاسخ در 1396/01/14 توسط

پاسخ شما