diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/UQueryable2.cs b/Src/Asp.Net/SqlServerTest/UnitTest/UQueryable2.cs index 34d5c5ed6..c73c6814a 100644 --- a/Src/Asp.Net/SqlServerTest/UnitTest/UQueryable2.cs +++ b/Src/Asp.Net/SqlServerTest/UnitTest/UQueryable2.cs @@ -102,6 +102,43 @@ namespace OrmTest .Mapper(it => ManyToMany.Config(it.AId,it.BId)) .ToList(); + Db.CodeFirst.InitTables(); + Db.DbMaintenance.TruncateTable("TableA"); + Db.DbMaintenance.TruncateTable("Tableb"); + Db.DbMaintenance.TruncateTable("ABMap"); + Db.Insertable(new TableA() { id=1, Name = "A1" }).ExecuteCommand(); + Db.Insertable(new TableA() {id=2, Name = "A1" }).ExecuteCommand(); + Db.Insertable(new TableB() { id=1, Name = "B1" }).ExecuteCommand(); + Db.Insertable(new TableB() { id=2, Name = "B2" }).ExecuteCommand(); + Db.Insertable(new ABMap() { Aid=1,Bid=1 }).ExecuteCommand(); + Db.Insertable(new ABMap() { Aid = 1, Bid = 2 }).ExecuteCommand(); + Db.Insertable(new ABMap() { Aid = 2, Bid = 1 }).ExecuteCommand(); + Db.Insertable(new ABMap() { Aid = 2, Bid =2 }).ExecuteCommand(); + var list9= Db.Queryable() + .Mapper(it => ManyToMany.Config(it.Aid, it.Bid)).ToList(); + } + + + public class ABMap{ + public int Aid { get; set; } + public int Bid { get; set; } + } + + public class TableA{ + + [SugarColumn(IsPrimaryKey =true,IsIdentity =true)] + public int id { get; set; } + public string Name { get; set; } + [SugarColumn(IsIgnore =true)] + public List Childlist { get; set; } + } + + + public class TableB + { + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int id { get; set; } + public string Name { get; set; } } } } diff --git a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs index b6ffdf870..cb429cb2f 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs @@ -130,11 +130,13 @@ namespace SqlSugar //A var aEntity = this.Context.EntityMaintenance.GetEntityInfo(aType); - var aPropertyName = aEntity.Columns.FirstOrDefault(it => it.IsPrimarykey == true).PropertyName; + var aPropertyName = aEntity.Columns.FirstOrDefault(it => it.IsPrimarykey == true)?.PropertyName; + Check.Exception(aPropertyName == null, aEntity.EntityName + " no primary key"); //B var bEntity = this.Context.EntityMaintenance.GetEntityInfo(bType); - var bProperty = bEntity.Columns.FirstOrDefault(it => it.IsPrimarykey == true).PropertyName; + var bProperty = bEntity.Columns.FirstOrDefault(it => it.IsPrimarykey == true)?.PropertyName; + Check.Exception(bProperty == null, bEntity.EntityName + " no primary key"); var bDbFiled = bEntity.Columns.FirstOrDefault(it => it.IsPrimarykey == true).DbColumnName; this.Mapper((it,cache) => {