LINQ get one to many relationship with object and with a list












0














I have 2 tables called SampleQuestions and SampleQuestionsAnswers.



Table Details



SampleQuestions - SampleQuestionId, Question



SampleQuestionsAnswers - SampleQuestionsAnswerId,SampleQuestionId, Answer



One Question has many Answers.



I have a C# class like this



    public class SampleJobQuestions
{
[Key]
public int SampleJobQuestionId { get; set; }
public string Question { get; set; }
public List<SampleJobQuestionAnswers> Answers { get; set; }
}


Using Entity Framework, How can I get list of SampleJobQuestions objects with the answers as a list inside in each object?










share|improve this question
























  • Do you use DatabaseFirst approach?
    – StepUp
    Nov 21 at 9:44
















0














I have 2 tables called SampleQuestions and SampleQuestionsAnswers.



Table Details



SampleQuestions - SampleQuestionId, Question



SampleQuestionsAnswers - SampleQuestionsAnswerId,SampleQuestionId, Answer



One Question has many Answers.



I have a C# class like this



    public class SampleJobQuestions
{
[Key]
public int SampleJobQuestionId { get; set; }
public string Question { get; set; }
public List<SampleJobQuestionAnswers> Answers { get; set; }
}


Using Entity Framework, How can I get list of SampleJobQuestions objects with the answers as a list inside in each object?










share|improve this question
























  • Do you use DatabaseFirst approach?
    – StepUp
    Nov 21 at 9:44














0












0








0







I have 2 tables called SampleQuestions and SampleQuestionsAnswers.



Table Details



SampleQuestions - SampleQuestionId, Question



SampleQuestionsAnswers - SampleQuestionsAnswerId,SampleQuestionId, Answer



One Question has many Answers.



I have a C# class like this



    public class SampleJobQuestions
{
[Key]
public int SampleJobQuestionId { get; set; }
public string Question { get; set; }
public List<SampleJobQuestionAnswers> Answers { get; set; }
}


Using Entity Framework, How can I get list of SampleJobQuestions objects with the answers as a list inside in each object?










share|improve this question















I have 2 tables called SampleQuestions and SampleQuestionsAnswers.



Table Details



SampleQuestions - SampleQuestionId, Question



SampleQuestionsAnswers - SampleQuestionsAnswerId,SampleQuestionId, Answer



One Question has many Answers.



I have a C# class like this



    public class SampleJobQuestions
{
[Key]
public int SampleJobQuestionId { get; set; }
public string Question { get; set; }
public List<SampleJobQuestionAnswers> Answers { get; set; }
}


Using Entity Framework, How can I get list of SampleJobQuestions objects with the answers as a list inside in each object?







c# sql-server entity-framework






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 21 at 10:41









bobbyrne01

2,11343993




2,11343993










asked Nov 21 at 9:27









Dhanushka Weerasinghe

246




246












  • Do you use DatabaseFirst approach?
    – StepUp
    Nov 21 at 9:44


















  • Do you use DatabaseFirst approach?
    – StepUp
    Nov 21 at 9:44
















Do you use DatabaseFirst approach?
– StepUp
Nov 21 at 9:44




Do you use DatabaseFirst approach?
– StepUp
Nov 21 at 9:44












1 Answer
1






active

oldest

votes


















0














I use EF Core



public class SampleQuestion
{
public int SampleQuestionId { get; set; }
public string Question { get; set; }
public List<SampleQuestionAnswer> Answers { get; set; }
}

public class SampleQuestionAnswer
{
public int SampleQuestionAnswerId { get; set; }
public string Value { get; set; }
}

// Type configuration for SampleQuestion entity
public class SampleQuestionConfiguration : EntityTypeConfiguration<SampleQuestion>
{
public override void Configure(EntityTypeBuilder<SampleQuestion> builder)
{
builder.ToTable("SampleQuestion");

builder.Property(q => q.SampleQuestionId).UseSqlServerIdentityColumn();

builder.HasMany(q => q.Answers); // Check that answers has links to questions in database
}
}

// Type configuration for SampleQuestionAnswer entity
public class SampleQuestionAnswerConfiguration : EntityTypeConfiguration<SampleQuestionAnswer>
{
public override void Configure(EntityTypeBuilder<SampleQuestionAnswer> builder)
{
builder.ToTable("SampleQuestionAnswer");

builder.Property(b => b.SampleQuestionAnswerId).UseSqlServerIdentityColumn();
}
}

// Create special context
public class QuestionDbContext : DbContext
{
public DbSet<SampleQuestion> SampleQuestions { get; set; }
public DbSet<SampleQuestionAnswer> SampleQuestionsAnswers { get; set; }

public QuestionDbContext(DbContextOptions options)
: base(options) { }

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder
.ApplyConfiguration(new SampleQuestionConfiguration())
.ApplyConfiguration(new SampleQuestionAnswerConfiguration());

SampleQuestions.Include(x => x.Answers);
}
}

class Program
{
static void Main(string args)
{
QuestionDbContext qContext = new QuestionDbContext(new DbContextOptionsBuilder<QuestionDbContext>()
.UseSqlServer("connectionString")
.Options);
var questions = qContext.SampleQuestions.AsNoTracking(); // not elegant, but it will work
}
}





share|improve this answer





















    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%2f53408887%2flinq-get-one-to-many-relationship-with-object-and-with-a-list%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    I use EF Core



    public class SampleQuestion
    {
    public int SampleQuestionId { get; set; }
    public string Question { get; set; }
    public List<SampleQuestionAnswer> Answers { get; set; }
    }

    public class SampleQuestionAnswer
    {
    public int SampleQuestionAnswerId { get; set; }
    public string Value { get; set; }
    }

    // Type configuration for SampleQuestion entity
    public class SampleQuestionConfiguration : EntityTypeConfiguration<SampleQuestion>
    {
    public override void Configure(EntityTypeBuilder<SampleQuestion> builder)
    {
    builder.ToTable("SampleQuestion");

    builder.Property(q => q.SampleQuestionId).UseSqlServerIdentityColumn();

    builder.HasMany(q => q.Answers); // Check that answers has links to questions in database
    }
    }

    // Type configuration for SampleQuestionAnswer entity
    public class SampleQuestionAnswerConfiguration : EntityTypeConfiguration<SampleQuestionAnswer>
    {
    public override void Configure(EntityTypeBuilder<SampleQuestionAnswer> builder)
    {
    builder.ToTable("SampleQuestionAnswer");

    builder.Property(b => b.SampleQuestionAnswerId).UseSqlServerIdentityColumn();
    }
    }

    // Create special context
    public class QuestionDbContext : DbContext
    {
    public DbSet<SampleQuestion> SampleQuestions { get; set; }
    public DbSet<SampleQuestionAnswer> SampleQuestionsAnswers { get; set; }

    public QuestionDbContext(DbContextOptions options)
    : base(options) { }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
    modelBuilder
    .ApplyConfiguration(new SampleQuestionConfiguration())
    .ApplyConfiguration(new SampleQuestionAnswerConfiguration());

    SampleQuestions.Include(x => x.Answers);
    }
    }

    class Program
    {
    static void Main(string args)
    {
    QuestionDbContext qContext = new QuestionDbContext(new DbContextOptionsBuilder<QuestionDbContext>()
    .UseSqlServer("connectionString")
    .Options);
    var questions = qContext.SampleQuestions.AsNoTracking(); // not elegant, but it will work
    }
    }





    share|improve this answer


























      0














      I use EF Core



      public class SampleQuestion
      {
      public int SampleQuestionId { get; set; }
      public string Question { get; set; }
      public List<SampleQuestionAnswer> Answers { get; set; }
      }

      public class SampleQuestionAnswer
      {
      public int SampleQuestionAnswerId { get; set; }
      public string Value { get; set; }
      }

      // Type configuration for SampleQuestion entity
      public class SampleQuestionConfiguration : EntityTypeConfiguration<SampleQuestion>
      {
      public override void Configure(EntityTypeBuilder<SampleQuestion> builder)
      {
      builder.ToTable("SampleQuestion");

      builder.Property(q => q.SampleQuestionId).UseSqlServerIdentityColumn();

      builder.HasMany(q => q.Answers); // Check that answers has links to questions in database
      }
      }

      // Type configuration for SampleQuestionAnswer entity
      public class SampleQuestionAnswerConfiguration : EntityTypeConfiguration<SampleQuestionAnswer>
      {
      public override void Configure(EntityTypeBuilder<SampleQuestionAnswer> builder)
      {
      builder.ToTable("SampleQuestionAnswer");

      builder.Property(b => b.SampleQuestionAnswerId).UseSqlServerIdentityColumn();
      }
      }

      // Create special context
      public class QuestionDbContext : DbContext
      {
      public DbSet<SampleQuestion> SampleQuestions { get; set; }
      public DbSet<SampleQuestionAnswer> SampleQuestionsAnswers { get; set; }

      public QuestionDbContext(DbContextOptions options)
      : base(options) { }

      protected override void OnModelCreating(ModelBuilder modelBuilder)
      {
      modelBuilder
      .ApplyConfiguration(new SampleQuestionConfiguration())
      .ApplyConfiguration(new SampleQuestionAnswerConfiguration());

      SampleQuestions.Include(x => x.Answers);
      }
      }

      class Program
      {
      static void Main(string args)
      {
      QuestionDbContext qContext = new QuestionDbContext(new DbContextOptionsBuilder<QuestionDbContext>()
      .UseSqlServer("connectionString")
      .Options);
      var questions = qContext.SampleQuestions.AsNoTracking(); // not elegant, but it will work
      }
      }





      share|improve this answer
























        0












        0








        0






        I use EF Core



        public class SampleQuestion
        {
        public int SampleQuestionId { get; set; }
        public string Question { get; set; }
        public List<SampleQuestionAnswer> Answers { get; set; }
        }

        public class SampleQuestionAnswer
        {
        public int SampleQuestionAnswerId { get; set; }
        public string Value { get; set; }
        }

        // Type configuration for SampleQuestion entity
        public class SampleQuestionConfiguration : EntityTypeConfiguration<SampleQuestion>
        {
        public override void Configure(EntityTypeBuilder<SampleQuestion> builder)
        {
        builder.ToTable("SampleQuestion");

        builder.Property(q => q.SampleQuestionId).UseSqlServerIdentityColumn();

        builder.HasMany(q => q.Answers); // Check that answers has links to questions in database
        }
        }

        // Type configuration for SampleQuestionAnswer entity
        public class SampleQuestionAnswerConfiguration : EntityTypeConfiguration<SampleQuestionAnswer>
        {
        public override void Configure(EntityTypeBuilder<SampleQuestionAnswer> builder)
        {
        builder.ToTable("SampleQuestionAnswer");

        builder.Property(b => b.SampleQuestionAnswerId).UseSqlServerIdentityColumn();
        }
        }

        // Create special context
        public class QuestionDbContext : DbContext
        {
        public DbSet<SampleQuestion> SampleQuestions { get; set; }
        public DbSet<SampleQuestionAnswer> SampleQuestionsAnswers { get; set; }

        public QuestionDbContext(DbContextOptions options)
        : base(options) { }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
        modelBuilder
        .ApplyConfiguration(new SampleQuestionConfiguration())
        .ApplyConfiguration(new SampleQuestionAnswerConfiguration());

        SampleQuestions.Include(x => x.Answers);
        }
        }

        class Program
        {
        static void Main(string args)
        {
        QuestionDbContext qContext = new QuestionDbContext(new DbContextOptionsBuilder<QuestionDbContext>()
        .UseSqlServer("connectionString")
        .Options);
        var questions = qContext.SampleQuestions.AsNoTracking(); // not elegant, but it will work
        }
        }





        share|improve this answer












        I use EF Core



        public class SampleQuestion
        {
        public int SampleQuestionId { get; set; }
        public string Question { get; set; }
        public List<SampleQuestionAnswer> Answers { get; set; }
        }

        public class SampleQuestionAnswer
        {
        public int SampleQuestionAnswerId { get; set; }
        public string Value { get; set; }
        }

        // Type configuration for SampleQuestion entity
        public class SampleQuestionConfiguration : EntityTypeConfiguration<SampleQuestion>
        {
        public override void Configure(EntityTypeBuilder<SampleQuestion> builder)
        {
        builder.ToTable("SampleQuestion");

        builder.Property(q => q.SampleQuestionId).UseSqlServerIdentityColumn();

        builder.HasMany(q => q.Answers); // Check that answers has links to questions in database
        }
        }

        // Type configuration for SampleQuestionAnswer entity
        public class SampleQuestionAnswerConfiguration : EntityTypeConfiguration<SampleQuestionAnswer>
        {
        public override void Configure(EntityTypeBuilder<SampleQuestionAnswer> builder)
        {
        builder.ToTable("SampleQuestionAnswer");

        builder.Property(b => b.SampleQuestionAnswerId).UseSqlServerIdentityColumn();
        }
        }

        // Create special context
        public class QuestionDbContext : DbContext
        {
        public DbSet<SampleQuestion> SampleQuestions { get; set; }
        public DbSet<SampleQuestionAnswer> SampleQuestionsAnswers { get; set; }

        public QuestionDbContext(DbContextOptions options)
        : base(options) { }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
        modelBuilder
        .ApplyConfiguration(new SampleQuestionConfiguration())
        .ApplyConfiguration(new SampleQuestionAnswerConfiguration());

        SampleQuestions.Include(x => x.Answers);
        }
        }

        class Program
        {
        static void Main(string args)
        {
        QuestionDbContext qContext = new QuestionDbContext(new DbContextOptionsBuilder<QuestionDbContext>()
        .UseSqlServer("connectionString")
        .Options);
        var questions = qContext.SampleQuestions.AsNoTracking(); // not elegant, but it will work
        }
        }






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 21 at 15:04









        Igorgy

        13




        13






























            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.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • 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%2f53408887%2flinq-get-one-to-many-relationship-with-object-and-with-a-list%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

            404 Error Contact Form 7 ajax form submitting

            How to know if a Active Directory user can login interactively

            TypeError: fit_transform() missing 1 required positional argument: 'X'