We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hi, I am experiencing issue using LazyLoading proxies in a TPC scenario. Here below model definition and example code
Model
public abstract class BaseEntity { public decimal DEPTID { get; set; } public DateTime LASTUPDATED { get; set; } } public abstract class AMOS_ADDRESS : BaseEntity { public decimal ADDRESSID { get; set; } public string CODE { get; set; } public string ALPHACODE { get; set; } public List<AMOS_ADDRESSCONTACT> CONTACTS { get; set; } } public abstract class AMOS_ADDRESSCONTACT : BaseEntity { public decimal ADDRESSCONTACTID { get; set; } public virtual AMOS_ADDRESS ADDRESS { get; set; } public decimal ADDRESSID { get; set; } } public class ADDRESS : AMOS_ADDRESS { } public class ADDRESSCONTACT : AMOS_ADDRESSCONTACT { }
Code
public static void Run() { var modelBuilder = SqlServerConventionSetBuilder.CreateModelBuilder();//new ModelBuilder(); modelBuilder.HasDefaultSchema("AMOS"); modelBuilder.Entity<AMOS_ADDRESS>().UseTpcMappingStrategy(); modelBuilder.Entity<AMOS_ADDRESS>().HasKey(e => e.ADDRESSID); modelBuilder.Entity<AMOS_ADDRESS>().Property(e => e.CODE).HasColumnName("CODE"); modelBuilder.Entity<AMOS_ADDRESS>().Property(e => e.ALPHACODE).HasColumnName("ALPHACODE"); modelBuilder.Entity<AMOS_ADDRESS>().Property(e => e.ADDRESSID).HasColumnName("ADDRESSID"); modelBuilder.Entity<AMOS_ADDRESS>().HasMany(e => e.CONTACTS); modelBuilder.Entity<ADDRESS>().ToTable("ADDRESS", "AMOS"); modelBuilder.Entity<AMOS_ADDRESSCONTACT>().UseTpcMappingStrategy(); modelBuilder.Entity<AMOS_ADDRESSCONTACT>().HasKey(e => e.ADDRESSCONTACTID); modelBuilder.Entity<AMOS_ADDRESSCONTACT>().Property(e => e.ADDRESSCONTACTID).HasColumnName("ADDRESSCONTACTID"); modelBuilder.Entity<AMOS_ADDRESSCONTACT>().Property(e => e.ADDRESSID).HasColumnName("ADDRESSID"); modelBuilder.Entity<AMOS_ADDRESSCONTACT>().HasOne(e => e.ADDRESS); modelBuilder.Entity<ADDRESSCONTACT>().ToTable("ADDRESSCONTACT", "AMOS"); SqlConnection connection = new SqlConnection() { ConnectionString = "User=amos;Password=****;Data source=DevDBMSSQL;Initial catalog=ABS10300DEMO" }; var optionsBuilder = new DbContextOptionsBuilder(); var model = modelBuilder.FinalizeModel(); optionsBuilder.UseModel(model); optionsBuilder.UseLazyLoadingProxies(true); connection.Open(); optionsBuilder.UseSqlServer(connection); using (var dbContext = new DbContext(optionsBuilder.Options)) { dbContext.ChangeTracker.LazyLoadingEnabled = true; var addressContact = dbContext.Set<AMOS_ADDRESSCONTACT>(); // The following works //var addressContact = dbContext.Set<AMOS_ADDRESSCONTACT>().Include(a => a.ADDRESS); foreach (var item in addressContact) { // FAILURE ADDRESS = NULL. it works when use .Include Console.WriteLine($"{item.ADDRESS.ALPHACODE}"); } Console.ReadKey(); } }
EF Core version:7.0.0-rc.2.22472.11 Database provider: Microsoft.EntityFrameworkCore.SqlServer Target framework: .NET 6.0 Operating system: IDE: Visual Studio 2022 17.3.6
Regards Luigi
The text was updated successfully, but these errors were encountered:
Duplicate of #15532
Sorry, something went wrong.
No branches or pull requests
Hi,
I am experiencing issue using LazyLoading proxies in a TPC scenario.
Here below model definition and example code
Model
Code
EF Core version:7.0.0-rc.2.22472.11
Database provider: Microsoft.EntityFrameworkCore.SqlServer
Target framework: .NET 6.0
Operating system:
IDE: Visual Studio 2022 17.3.6
Regards
Luigi
The text was updated successfully, but these errors were encountered: