EF6 Code first Composite Foreign key with Fluent API





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







1















I am having trouble creating One-one(zero) Foreign key relationship on code first EF6 fluent API



My Entities are



 public class Invoice
{
public int AccountID { get; set; }
public int InvoiceID { get; set; }
public decimal Amount { get; set; }
public Refund Refund { get; set; }
internal static void ConfigureModel(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Invoice>()
.HasKey(e => new { e.AccountID, e.InvoiceID });
}
}

public class Refund
{
public int AccountID { get; set; }
public int RefundID { get; set; }
public decimal Amount { get; set; }
public int InvoiceID { get; set; }
public Invoice Invoice { get; set; }
internal static void ConfigureModel(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Refund>()
.HasKey(e => new { e.AccountID, e.RefundID });
modelBuilder.Entity<Refund>()
.HasRequired(e => e.Invoice )
// .HasForeignKey(e => new { e.AccountID, e.InvoiceID});
}
}


I can't define the composite foreign key on Refund table using fluent API



If I change the



public Refund Refund { get; set; } 


to



public ICollection<Refund> Refund{ get; set; } 


Then I can add this relation as



modelBuilder.Entity<Refund>()
.HasRequired(e => e.Invoice)
.WithMany(e => e.Refund)
.HasForeignKey(e => new { e.AccountID, e.InvoiceID});









share|improve this question





























    1















    I am having trouble creating One-one(zero) Foreign key relationship on code first EF6 fluent API



    My Entities are



     public class Invoice
    {
    public int AccountID { get; set; }
    public int InvoiceID { get; set; }
    public decimal Amount { get; set; }
    public Refund Refund { get; set; }
    internal static void ConfigureModel(DbModelBuilder modelBuilder)
    {
    modelBuilder.Entity<Invoice>()
    .HasKey(e => new { e.AccountID, e.InvoiceID });
    }
    }

    public class Refund
    {
    public int AccountID { get; set; }
    public int RefundID { get; set; }
    public decimal Amount { get; set; }
    public int InvoiceID { get; set; }
    public Invoice Invoice { get; set; }
    internal static void ConfigureModel(DbModelBuilder modelBuilder)
    {
    modelBuilder.Entity<Refund>()
    .HasKey(e => new { e.AccountID, e.RefundID });
    modelBuilder.Entity<Refund>()
    .HasRequired(e => e.Invoice )
    // .HasForeignKey(e => new { e.AccountID, e.InvoiceID});
    }
    }


    I can't define the composite foreign key on Refund table using fluent API



    If I change the



    public Refund Refund { get; set; } 


    to



    public ICollection<Refund> Refund{ get; set; } 


    Then I can add this relation as



    modelBuilder.Entity<Refund>()
    .HasRequired(e => e.Invoice)
    .WithMany(e => e.Refund)
    .HasForeignKey(e => new { e.AccountID, e.InvoiceID});









    share|improve this question

























      1












      1








      1








      I am having trouble creating One-one(zero) Foreign key relationship on code first EF6 fluent API



      My Entities are



       public class Invoice
      {
      public int AccountID { get; set; }
      public int InvoiceID { get; set; }
      public decimal Amount { get; set; }
      public Refund Refund { get; set; }
      internal static void ConfigureModel(DbModelBuilder modelBuilder)
      {
      modelBuilder.Entity<Invoice>()
      .HasKey(e => new { e.AccountID, e.InvoiceID });
      }
      }

      public class Refund
      {
      public int AccountID { get; set; }
      public int RefundID { get; set; }
      public decimal Amount { get; set; }
      public int InvoiceID { get; set; }
      public Invoice Invoice { get; set; }
      internal static void ConfigureModel(DbModelBuilder modelBuilder)
      {
      modelBuilder.Entity<Refund>()
      .HasKey(e => new { e.AccountID, e.RefundID });
      modelBuilder.Entity<Refund>()
      .HasRequired(e => e.Invoice )
      // .HasForeignKey(e => new { e.AccountID, e.InvoiceID});
      }
      }


      I can't define the composite foreign key on Refund table using fluent API



      If I change the



      public Refund Refund { get; set; } 


      to



      public ICollection<Refund> Refund{ get; set; } 


      Then I can add this relation as



      modelBuilder.Entity<Refund>()
      .HasRequired(e => e.Invoice)
      .WithMany(e => e.Refund)
      .HasForeignKey(e => new { e.AccountID, e.InvoiceID});









      share|improve this question














      I am having trouble creating One-one(zero) Foreign key relationship on code first EF6 fluent API



      My Entities are



       public class Invoice
      {
      public int AccountID { get; set; }
      public int InvoiceID { get; set; }
      public decimal Amount { get; set; }
      public Refund Refund { get; set; }
      internal static void ConfigureModel(DbModelBuilder modelBuilder)
      {
      modelBuilder.Entity<Invoice>()
      .HasKey(e => new { e.AccountID, e.InvoiceID });
      }
      }

      public class Refund
      {
      public int AccountID { get; set; }
      public int RefundID { get; set; }
      public decimal Amount { get; set; }
      public int InvoiceID { get; set; }
      public Invoice Invoice { get; set; }
      internal static void ConfigureModel(DbModelBuilder modelBuilder)
      {
      modelBuilder.Entity<Refund>()
      .HasKey(e => new { e.AccountID, e.RefundID });
      modelBuilder.Entity<Refund>()
      .HasRequired(e => e.Invoice )
      // .HasForeignKey(e => new { e.AccountID, e.InvoiceID});
      }
      }


      I can't define the composite foreign key on Refund table using fluent API



      If I change the



      public Refund Refund { get; set; } 


      to



      public ICollection<Refund> Refund{ get; set; } 


      Then I can add this relation as



      modelBuilder.Entity<Refund>()
      .HasRequired(e => e.Invoice)
      .WithMany(e => e.Refund)
      .HasForeignKey(e => new { e.AccountID, e.InvoiceID});






      entity-framework-6 foreign-keys ef-code-first one-to-one






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 22 '18 at 7:44









      A_JA_J

      62




      62
























          0






          active

          oldest

          votes












          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53426085%2fef6-code-first-composite-foreign-key-with-fluent-api%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          draft saved

          draft discarded




















































          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.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53426085%2fef6-code-first-composite-foreign-key-with-fluent-api%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          How to change which sound is reproduced for terminal bell?

          Title Spacing in Bjornstrup Chapter, Removing Chapter Number From Contents

          Can I use Tabulator js library in my java Spring + Thymeleaf project?