添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Learn more about Collectives

Teams

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Learn more about Teams

I have a database table created 20 years ago in my company, it is only used for journaling, with NO PRIMARY KEY or INDEX. I can't alter that table.

I understood that we need to call HasNoKey() in code first approach.

But how can I apply HasNoKey in this case? Since it is a Database First approach.

You can check this article learn.microsoft.com/en-us/ef/core/modeling/keyless-entity-types Ramil Aliyev 007 Feb 6, 2020 at 13:55

In your DbContext class' OnModelCreating method, you do something like this:

modelBuilder
    .Entity<MyEntity>(builder =>
        builder.HasNoKey();
        builder.ToTable("MY_ENTITY");

Read more about it here:
https://learn.microsoft.com/en-us/ef/core/modeling/keyless-entity-types?tabs=fluent-api

@sk This should still apply to DB first ... DB first IS code first, it's just that we generate the Entity Types from the DB first, but it should still create a DbContext with a ConfigureModel method in to which we tell the model that this is going on in the DB. – War Jul 3, 2020 at 12:55

Thanks for contributing an answer to Stack Overflow!

  • Please be sure to answer the question. Provide details and share your research!

But avoid

  • Asking for help, clarification, or responding to other answers.
  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.