SqlSugar 的文档比较齐全,一次通过:https://www.donet5.com/Home/Doc?typeId=2574,但是 SqlSugar Aot 发布在 40M 左右,感觉太大了点。
FreeSql 的 AOT 文档就不太友好了,试了一下各种报错,最后发现要使用 FreeSql.Provider.MySqlConnector 包而不是 FreeSql.Provider.MySql 包。发布后 16M,还是比较小的。
Program.cs 文件:
internal class Program{static void Main(string[] args){try{//FreeSql.Internal.Utils.ListOrArrayToList<List<byte>>(null); //加这行,或者把它配置到 rd.xmlvar fsql = new FreeSql.FreeSqlBuilder().UseAdoConnectionPool(true).UseConnectionString(FreeSql.DataType.MySql, "Data Source=;Port=3306;User ID=;Password=; Initial Catalog=;SslMode=none;Min pool size=1;Connection Timeout=1").Build();var t1 = fsql.Insert(new Student() { SchoolId = 1, Name = "freesql" }).ExecuteAffrows();}catch (Exception err){Console.WriteLine(err.Message + err.StackTrace.ToString());}Console.ReadLine();}}public class Student{[Column(IsIdentity = true, IsPrimary = true)]public int Id { get; set; }public int? SchoolId { get; set; }public string? Name { get; set; }}
rd.xml 文件:
<Directives><Application><Assembly Name="FreeSql" Dynamic="Required All"> </Assembly><Assembly Name="FreeSql.Provider.MySqlConnector" Dynamic="Required All"> </Assembly><Assembly Name="ConsoleFreeSqlAot" Dynamic="Required All"> </Assembly></Application> </Directives>
csproj 文件:
<ItemGroup><RdXmlFile Include="rd.xml" /></ItemGroup>