English 中文(简体)
我怎么能够把《守则》中要求的遗留财产做一流图?
原标题:How can I make an inherited property required in Code First fluent mapping?

I have the following setup, abridged for brevity:

public abstract class AuditableEntity
{
    public int Id { get; set; }
    public Login Login { get; set; }  // Login that create this identity.
}

public class Login: AuditableEntity
{
    public Security Security { get; set; }
    public Guid SessionGuid { get; set; }
}

public class Security: AuditableEntity
{
    public string UserName { get; set; }
    public string PasswordHash { get; set; }
}

如今,在<代码><<<0> /代码>上不要求实体本身填写。 事实上,它不属于该表,因此,我忽略了:

modelBuilder.Entity<Login>().Ignore(l => l.Login);

我想,正如所有其他表格所要求的那样,但当我如在<代码>上尝试和要求时。 用户:

modelBuilder.Entity<Security.Security>().Property(p => p.Login).IsRequired();

我收到一个汇编错误,即“为了将其用作参数T, Log必须是不可损失的价值类型”。 我注意到,我获准在前面的<代码>Ignore中将其用作参数T,因此,我认为这是其他一些隐蔽的T。

My immediately apparent solutions are not very elegant:

  1. Use an FK value and not a reference poperty for Login in in AuditableEntity.
  2. Create a new base class without Login, and another derived from that that adds Login, then inherit my Login class from the highest base, and all other classes from its immediate descendant.

是否有更好的办法这样做?

最佳回答

你们正在将财产合成物用于土质。 您实际上希望使用Nav Property syntax,例如。 HasRequired(t=>t. Carloin)。 WithMany( or some similar

See http://msdn.microsoft.com/en-us/library/hh295843(v=vs.103).aspx, and the Configuring a Relationship with One Navigation Property section

问题回答

暂无回答




相关问题
Entity Framework with MySQL connector in c#

I have been trying to get the Entity Framework to work in my web application using MySQL. It works fine on my local pc, but doesn t work when I put it on the server. Since the server is a shared ...

How Do I Create And Update A Many To Many Relationship With EF

I am using the Entity Framework with SQL Server. I have a many to many relationship between 2 tables. I have created a join table with just the primary key fields of the 2 tables. In the designer, the ...

Entity Framework with File-Based Database

I am in the process of developing a desktop application that needs a database. The application is currently targeted to SQL Express 2005 and works wonderfully. However, I m not crazy about having ...

Linq to enties, insert foreign keys

I am using the ADO entity framework for the first time and am not sure of the best way of inserting db recored that contain foreign keys. this is the code that i am using, I would appreciate any ...

Entity Framework - Many to many question

I have a table called ASB and a table called PeopleInvolved. There is a junction table called PeopleInvolved_ASB which simply contains an ASBID and a PeopleInvolvedID column. The columns act as a ...

Post back complex object from client side

I m using ASP.NET MVC and Entity Framework. I m going to pass a complex entity to the client side and allow the user to modify it, and post it back to the controller. But I don t know how to do that ...

ADO.NET Entity Data Model are not precise enough

I run this code: var cos = from k in _db.klienci_do_trasy where k.klient_id == 5 select k; but the query send to database is: SELECT * FROM `klienci_do_trasy` LIMIT 0, 30 why is it for, there ...

热门标签