簡體   English   中英

.NET6 中的 DI 壞了?

[英]DI broken in .NET6?

我正在做一些完全正常的事情——在 WebApi DI 中注冊 Insight.Database 自動接口。

這是代碼 -

var dataString = builder.Configuration.GetConnectionString("DefaultConnection");

SqlInsightDbProvider.RegisterProvider();
var connection = new SqlConnection(dataString);
builder.Services.AddTransient(thing => connection.AsParallel<IUserData>());
builder.Services.AddTransient(thing => connection.AsParallel<IRoleData>());

我在控制器中使用注入接口時遇到了這個奇怪的錯誤。

奇怪的錯誤信息

並且沒有關於它的文檔。 與其他運行良好的項目相比,沒有任何變化。 它只是……壞掉了。

任何幫助將不勝感激

編輯以添加堆棧跟蹤

堆棧跟蹤

絕對看起來像是 Insight 的代碼生成和 net6 反射運行時之間的一些錯誤。

如果你在 github 上打開一個問題,我可以看看它。 下周我有一些空閑時間。

不可避免地,問題出在鍵盤和椅子之間。

我試圖使用 Insight 的[Recordset]屬性從數據庫中構造我的回報,就像這樣......

[Recordset(1, typeof(UserClaim), GroupBy = nameof(UserClaim.UserId), Into=nameof(ApplicationUser.UserClaims))]

除了我忘記指定關系類型。 因此,在所有適用的調用中對此進行修改

[Recordset(1, typeof(UserClaim), IsChild = true, GroupBy = nameof(UserClaim.UserId), Into=nameof(ApplicationUser.UserClaims))]

把它全部整理出來。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM