您好:
參考
https://igouist.github.io/post/2021/10/newbie-5-3-layer-architecture/
1.範例的參考引用架構
2.CardRepository : ICardRepository
有裝 AutoMapper
==>範圍太小,則DTO的class 要改為public
==>DyamicParameter 這一個,於該專案要在安裝Dapper 才能using
3.做到Service時
ServiceMappings : Profile 出現一堆錯誤
請問,這是該引用參考 還是 using ?
3-1. CardService : ICardService
==>要using
其他也是DTO class要 public
4.Controller
請問
ControllerMappings()
這是要放在 哪一層資料夾下?
謝謝!
會不會是跨專案的model 沒有將專案引入你需要用到的那個.cs?
都有跟著說明設定
模擬出上面的錯誤 是少做了
https://igouist.github.io/post/2021/10/newbie-5-3-layer-architecture/
加入參考的部分
您好:
您是說說
API or APP: Service + Common
Service: Repository + Common
Repository: Common
這一個嗎?
有做引用
還是哪一個環節少了?
謝謝
感謝提供更多資訊
若還是沒排除錯誤
請在上方using 加入
using ProjectN.Service.Dtos.Condition;
using ProjectN.Service.Dtos.DataModel;
若還是無法using 請檢查Condition/Condition.cs的namespace 比照檢查DataModel/DataModel.cs的namespace 做對應的namespace using
您好:
謝謝您
在試過一次,整理如員POST
前3項都沒紅底線了
目前剩下
4.Controller
請問
ControllerMappings()
這是要放在 哪一層資料夾下?
謝謝
就跟ServiceMappings 一樣的做法 只是在主站下
projectN 的 controll 資料夾 下嗎?
projectN下建立一個controllMappings資料夾 再建一個.cs
您好:
謝謝
1.我先建立ControllMappings 相關
2.再把其他control相關程式碼 貼上
3.執行select /inert 測試
但都出現以下錯誤
於 AutoMapper.AutoMapperMappingException 擲回例外狀況: 'AutoMapper.dll'
'AutoMapper.AutoMapperMappingException' 類型的例外狀況發生於 AutoMapper.dll,但使用者程式碼未加以處理
Cannot create interface ProjectN.Service.Dtos.Info.CardSearchInfo
ProjectN.exe' (CoreCLR: clrhost): 已載入 'C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\PrivateAssemblies\Runtime\Microsoft.VisualStudio.Debugger.Runtime.NetCoreApp.dll'。已略過載入符號。模組已最佳化,並已啟用 [Just My Code] 偵錯工具選項。
'[12164] ProjectN.exe' 程式以返回碼 4294967295 (0xffffffff) 結束。
但我看有這檔案
這又是什模問題?
謝謝
CardSearchInfo 和 CardInfo 實際是什麼樣子的
??該不會CardSearchInfo
是寫 public interface CardSearchInfo
CardInfo
public interface CardInfo
??
您好:
的確寫成interface 了,改掉後,重新build後,可以RUN
但有一個問題
GetList 有一個name 參數
name 有下條件,但結果全部出來
相對的attack 有下條件,會依據條件出來
public class CardSearchInfo
{
public string Name { get; set; }
這一個 有事著改成
public string? Name { get; set; }
我看controller
[HttpGet]
[Produces("application/json")]
public IEnumerable<CardViewModel> GetList(
[FromQuery] CardSearchParameter parameter)
{
var info = this._mapper.Map<
CardSearchParameter,
CardSearchInfo>(parameter);
var cards = this._cardService.GetList(info);
var result = this._mapper.Map<
IEnumerable<CardResultModel>,
IEnumerable<CardViewModel>>(cards);
return result;
沒有針對name 設定的地方
謝謝
由上方提供的資訊無法判斷是什麽原因
若資料有問題應該可以看看原本SQL是怎麽寫的
當輸入資料后 完整是sql是什麽樣子 如果按照原作者的寫法
在Name判斷后填入的資料不是name
給你參考一下
您好:
這一段 錯了
if (string.IsNullOrWhiteSpace(condition.Name) is false)
{
sqlQuery.Add($" Name LIKE @Name ");
//parameter.Add("Name", $"%{condition.MaxHealth}%");
parameter.Add("Name", $"%{condition.Name}%");
}
改過,就可了
謝謝