WARN

问题描述 投票:1回答:1

我使用DDD和EF Core设计了我的域。

假设我的实体看起来是这样的。

public sealed class ArticleEntity
{
    private ArticleEntity() { }

    public ArticleId Id { get; private set; }
    public string Name { get; private set; }
}

我的ArticleId ValueObject是这样的:

public sealed class ArticleId
{
    public ArticleId(int value)
    {
        Value = value;
    }

    public int Value { get; }

    public static bool operator ==(ArticleId obj1, ArticleId obj2)
    {
        return (obj1 is null && obj2 is null)
            || (!(obj1 is null) && obj1.Equals(obj2));
    }

    public static bool operator !=(ArticleId obj1, ArticleId obj2)
    {
        return !(obj1 == obj2);
    }

    public override string ToString()
    {
        return base.ToString();
    }

    public override int GetHashCode()
    {
        return base.GetHashCode();
    }

    public override bool Equals(object obj)
    {
        return base.Equals(obj);
    }
}

我通过这样的查询从Repository获取数据。

public ArticleEntity Get(ArticleId id)
{
    return _context.Articles
        .SingleOrDefault(a => a.Id == id);
}

当我浏览日志的时候,我看到这样的条目:

20500

c# .net-core entity-framework-core domain-driven-design ef-core-2.2
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.