kar*_*tal 5 c# asp.net-mvc serialization entity-framework
我有一个被调用的类User,它是[Serializable]从基类继承IdentityUser的Entity Framework类和Non Serializable.
我在Booking类中有一个属性类User和Booking类是Serializable我试图序列化预订对象使用BinaryFormatter 但我不能因为IdentityUser类而我得到这个错误:
在程序集'Microsoft.AspNet.Identity.EntityFramework,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'中'输入'Microsoft.AspNet.Identity.EntityFramework.IdentityUser'未标记为可序列化.
有没有办法忽略这个属性,因为我认为没有把'IdentityUser'作为Serializable.
[Serializable]
public class User : IdentityUser
{
public String FirstName { get; set; }
}
[Serializable]
public class Booking
{
[ForeignKey("Guest")]
public string GuestId { set; get; }
public virtual User Guest { set; get; }
}
Run Code Online (Sandbox Code Playgroud)
dbc*_*dbc 14
BinaryFormatter序列化对象的公共和私有字段 - 而不是属性.对于自动实现的属性,秘密支持字段是实际序列化的.
通常,如果您不希望序列化字段,则可以应用该[NonSerialized]属性,BinaryFormatter并将跳过该属性.但是,无法将该属性应用于自动实现的属性的秘密支持字段.因此,您需要使支持字段显式:
[field: NonSerialized]
public virtual User Guest { set; get; }
Run Code Online (Sandbox Code Playgroud)
顺便说一句,如果你需要在一些序列的信息User,你可以考虑实现ISerializable,或更换的情况下,User以系列化的代理人.
| 归档时间: |
|
| 查看次数: |
4848 次 |
| 最近记录: |