实体框架字符串为guid

时间:2014-10-13 13:52:31

标签: c# entity-framework

我的域模型使用字符串作为ID。

public class TeamModel
{
    public string TeamId { get; set; }
    public string TeamName { get; set; }
}

我的实体在哪里使用Guid作为Ids

     public class Team
     {
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public Guid TeamId { get; set; }
        public string TeamName { get; set; }
     }

现在我使用automapper将模型映射到实体,只是想知道是否有数据注释允许我将TeamId设置为实体中的字符串,但它然后自动格式化为guid并生成新的guid之前存储在数据库中

修改

域模型中字符串为Id的原因是因为这是一个带有sql和mongoDb的研究项目

我的mongoDb实体看起来像这样

public class Team
{
    [BsonId]
    [BsonRepresentation(BsonType.ObjectId)]
    public string TeamId { get; set; }
    public string TeamName
}

所以我的域名将域名模型传递给sql或mongo。 Mongo将字符串转换为ObjectId很好,我只需要EF就可以做类似的事情所以我可以在域中使用泛型模型

1 个答案:

答案 0 :(得分:0)

我不知道。建议(如果您确实需要在模型中使用字符串类型)来创建将在set and get accessors中转换为字符串\ guid的其他属性。