我使用以下代码来使用class
忽略BsonIgnore
内的某些属性。但它忽略了总体目标。
public class User
{
public string Username { get; set; }
public string Password { get; set; }
[BsonIgnore,JsonProperty(PropertyName = "CreateDate")]
public ICollection<Role> Roles { get; set; }
}
public class Role
{
public int RoleId {get; set;}
public string RoleName { get; set; }
public DateTime CreateDate { get; set;}
}
我有2个问题。
BsonIgnore
类中使用Role
。代码:
[BsonIgnore,JsonProperty(PropertyName = "CreateDate")]
[BsonIgnore,JsonProperty(PropertyName = "RoleId")]
public ICollection<Role> Roles { get; set; }
答案 0 :(得分:2)
有两种方法可以让您定义序列化类的方式:在初始化代码中使用属性或为类创建类映射。 类映射是一种定义类和BSON文档之间映射的结构。它包含参与序列化的类的字段和属性的列表,并且每个字段和属性定义所需的序列化参数(例如,BSON元素的名称,表示选项等等)。所以,在你的情况下你可以做这样的事情:
BsonClassMap.RegisterClassMap<Role>(cm =>
{
cm.AutoMap();// Automap the Role class
cm.UnmapProperty(c => c.RoleId); //Ignore RoleId property
cm.UnmapProperty(c => c.CreateDate);//Ignore CreateDate property
});
您可以在此link中找到有关此主题的更多信息。