小编Ste*_*Day的帖子

在构建时将项目引用更改为 NuGet 包引用

我有一个包含两个项目的 Visual Studio 解决方案 - 一个包含一些逻辑的 .NET Standard (2.0) 库和一个包含用户界面等的 .NET Framework (4.6.1) 类库。 .NET Framework 库然后有 .NET Standard 库添加为项目参考,以便它可以使用逻辑库中包含的方法。

然后我在 Azure DevOps 中使用 Azure Pipelines 来构建这两个项目,将它们打包为 NuGet 包并将它们推送到 Azure DevOps(Azure Artifacts)提供的 NuGet 服务器。

但是,发布 NuGet 包时,它们仅包含 NuGet 中对我通过 NuGet 添加到项目的包的依赖项。理想情况下,我想要的是当我的 .NET Standard(逻辑)库打包并推送到 NuGet 服务器时,NuGet 上对它的引用(带有更新的版本号等)被添加到我的 .NET Framework (UI) 库中。

有没有其他人遇到过这个问题,可以给我一些有关如何解决它的指导吗?到目前为止,我已经在网上查看并绘制了一张空白。

谢谢!

.net nuget azure-devops azure-pipelines

7
推荐指数
2
解决办法
7042
查看次数

实体框架核心-一般设置值转换器

我目前正在试用Entity Framework Core 2.1,以期在我工作的公司的业务应用程序中使用它。我已经在测试项目中实现了价值转换器的大部分方法,但是我现有的知识库使我无奈了!

我想做什么

我的理解是,对于枚举值,内置的类型转换器可以将枚举值转换为等效的字符串(EnumToStringConverter),也可以从枚举值转换为其数值表示形式(EnumToNumberConverter)。但是,我们使用自定义字符串值表示数据库中的枚举,因此我编写了一个自定义EnumToDbStringEquivalentConvertor进行此转换,并且数据库字符串值被指定为模型中每个枚举值的属性。

代码如下:

模型

public class User
{
    [Key] public int ID { get; set; }
    public EmployeeType EmployeeType { get; set; }
}

public enum EmployeeType
{
    [EnumDbStringValue("D")]
    Director,
    [EnumDbStringValue("W")]
    Weekly,
    [EnumDbStringValue("S")]
    Salaried
}
Run Code Online (Sandbox Code Playgroud)

数据上下文

public class MyDataContext : DbContext
{
    public DbSet<User> Users { get; set; }

    foreach (var entityType in modelBuilder.Model.GetEntityTypes())
    {
            foreach (var property in entityType.GetProperties())
            {
                if (property.ClrType.IsEnum)
                {
                    property.SetValueConverter(new EnumToDbStringEquivalentConvertor<EmployeeType>());
                }
             }
         }
    }
}
Run Code Online (Sandbox Code Playgroud)

价值转换器

public class EnumToDbStringEquivalentConvertor<T> : …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework-core ef-core-2.1

5
推荐指数
1
解决办法
2421
查看次数