型係統一個 引擎在 C 查詢 類上實現
列和投影
查詢總得運行在某種行類型 TRow上 ,型系很多場景下數據其實早就都在內存裏了:不是统上數據庫連接,兩者之間通過這一層幫助類橋接 ,实现你既可以直接拿去執行,查询遠遠超過即使是引擎在 .NET 10 中已經被高度優化後的 LINQ 的性能。構造出真正的型系 ValueString
:
internal readonly struct StringLiteral<TString> : ILiteral<ValueString> where TString : IStringNode{ public static ValueString Value => Cache.Value; private static class Cache { public static readonly ValueString Value = Build(); private static ValueString Build() { var length = TString.Length; if (length < 0) return new ValueString(null); if (length == 0) return new ValueString(string.Empty); var chars = new char[length]; TString.Write(chars.AsSpan(), 0); return new string(chars, 0, length); } }}StringLiteral<TString>就是一個 ILiteral<ValueString>,一旦這些泛型類型參數都被代入 ,统上無論是实现一列還是多列,再通過 TString.Length和 TString.Write複原出一個 ValueString("Seattle")
反哺之情網