相关疑难解决方法(0)

EntityTypeBuilder不包含EF Core中ToTable的定义

我有这个示例代码:

using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using Models;

namespace MySampleNamespace
{
    public class MyDbContext : DbContext
    {
        public MyDbContext(DbContextOptions<MyDbContext> options)
            : base(options)
        {
        }

        public DbSet<User> Users { get; set; }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            new UserMap(modelBuilder.Entity<User>());
        }

        public class UserMap
        {
            public UserMap(EntityTypeBuilder<User> entityBuilder)
            {
                entityBuilder.ToTable("User");
                entityBuilder.Property(s => s.Username).HasMaxLength(15).IsRequired();
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我在MS网站上测试了一些例子,但我找不到ToTable方法.在这个例子中,我检查了什么是Usings,唯一使用的例子是Microsoft.EntityFrameworkCore,除了他正在使用的模型的类项目.这改变了吗?我现在该怎么办?

entity-framework entity-framework-core

41
推荐指数
8
解决办法
2万
查看次数

Entity-framework-7将Fluent API配置组织到一个单独的类中

我很熟悉如何将流畅的API配置组织到EF6上的单独类中,但是如何通过EF7实现这一点?

以下是如何使用EF6执行此操作的示例:

ModelConfigurations.cs

public class ModelConfigurations : EntityTypeConfiguration<Blog>
{
     ToTable("tbl_Blog");
     HasKey(c => c.Id);
// etc..
}
Run Code Online (Sandbox Code Playgroud)

并从OnModelCreating()调用它

    protected override void OnModelCreating(DbModelbuilder modelBuilder)
    {
          modelBuilder.Configurations.Add(new ModelConfigurations());
// etc...
    }
Run Code Online (Sandbox Code Playgroud)

在EF7上,我无法解析EntityTypeConfiguration?从单独的类实现流畅的API调用的正确方法是什么?

c# entity-framework ef-fluent-api

6
推荐指数
1
解决办法
2938
查看次数

根据拆分 DbContext

我想将我的DbContext班级分成几部分,以便每个模块都有自己的班级,我相信这会让工作更容易,更多的错误宝座并降低代码复杂性。

我相信我在过去的某个地方在谷歌搜索时看到过它,但没有找到它。

DbContext在基础设施层,我的类在域上下文中。那不是问题。我想将映射和配置分成单独的类。我的DbContext意志保持不变,除非它会被分裂。

我标记了我愿意在下面分成几部分的代码和平:

public class WestCoreDbContext : DbContext
{
    public WestCoreDbContext(DbContextOptions<WestCoreDbContext> options) : base(options)
    {

    }
    #region WOULD LIKE TO SPLIT THIS PART
    public virtual DbSet<SoftwareTest> SoftwareTests { get; set; }
    public virtual DbSet<SoftwareTestCase> SoftwareTestCases { get; set; }
    public virtual DbSet<SoftwareTestCaseStep> SoftwareTestCaseSteps { get; set; }
    public virtual DbSet<SoftwareTestCaseStepResult> SoftwareTestCaseStepResults { get; set; }

    public virtual DbSet<Position> Positions { get; set; }
    #endregion

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {

        #region WOULD LIKE …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework dbcontext .net-core

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