c# - 如何在C#中将entitybase类型转换为实体类型

标签 c# asp.net-mvc entity-framework type-conversion

我在 .NET 3.5 中尝试了以下代码,但在注释中显示的行出现异常:

无法将类型“TUnpaid”转换为“ClassLibrary1.Unpaid”

如何在 .NET 3.5 中解决这个问题?

namespace ClassLibrary1
{
    public class EntityBase
    {
        public virtual void Save<T>(T dok) where T : EntityBase, new()
        {
        }
    }

    public class Unpaid : EntityBase
    {
        public override void Save<TUnpaid>(TUnpaid dok)
        {
            // Cannot convert type 'TUnpaid' to 'ClassLibrary1.Unpaid'  
            var kup = (Unpaid)dok;
        }
    }
}

最佳答案

如果您将 EntityBase 类设为泛型,我认为您可以解决这个问题:

public class EntityBase<T>
{
    public virtual void Save<T>(T dok) where T : EntityBase<T>, new()
    {
    }
}

public class Unpaid : EntityBase<Unpaid>
{
    public override void Save<Unpaid>(Unpaid dok)
    {
        // dok is now of type Unpaid and doesn't need the cast
    }
}

关于c# - 如何在C#中将entitybase类型转换为实体类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7385050/

相关文章:

c# - 当我安装 fluenceNhibernate 时,为什么 nuget 会尝试强制升级和依赖项升级?

Java 在效率方面等同于 C# 的 Action Type。 Java 8 还是 Pre-Java 8?

javascript - Jquery Datatables 扩展细节的持久性

javascript - ASP.NET MVC - 捆绑配置顺序

azure - 连接/添加数据库时将 ASP.NET Core 应用程序部署到 Azure 失败

c# - 无法加载 'MySql.Data' 或其依赖项之一。

c# - EF Core 中的断开连接的实体

c# - 在 '/u263a' 上使用 WriteConsoleOutput 总是打印不正确

asp.net-mvc - 使用 MongoDB 和 NoRM 实现博客 : Relationships?

c# - 实现 IAsyncEnumerable 的空 IQueryable