Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# linq2db:can';t为表生成POCO_C#_Mysql_.net_T4_Linq2db - Fatal编程技术网

C# linq2db:can';t为表生成POCO

C# linq2db:can';t为表生成POCO,c#,mysql,.net,t4,linq2db,C#,Mysql,.net,T4,Linq2db,由于我需要使用C#和MySQL,我最近通过其NuGet包安装了linq2db。安装后,我发现它附带了一个非常好的特性,这在中没有提到:一组T4模板,用于自动生成DB类和表的POCO!(哇!) 所以我决定运行T4s,而不是自己写我的POCO,但这里出现了错误的部分:找不到db的表列表,因此只创建了db类。下面的演示项目为MySql生成表 关于自动生成的类 您确定已完成步骤2吗? 它指的是修改注释结束后的行(步骤5的描述之后) 做一些明智的事情。 在这之后,您将获得一个名为CopyMeMysql.g

由于我需要使用C#和MySQL,我最近通过其NuGet包安装了linq2db。安装后,我发现它附带了一个非常好的特性,这在中没有提到:一组T4模板,用于自动生成DB类和表的POCO!(哇!)


所以我决定运行T4s,而不是自己写我的POCO,但这里出现了错误的部分:找不到db的表列表,因此只创建了db类。

下面的演示项目为MySql生成表
关于自动生成的类

您确定已完成步骤2吗? 它指的是修改注释结束后的行(步骤5的描述之后)

做一些明智的事情。
在这之后,您将获得一个名为
CopyMeMysql.generated.cs

CopyMeMysql.tt
的“子”文件(在VS中,单击项目中文件左侧的展开图标),该文件与我所做的完全相同。在调试程序中,我发现问题在于,当LoadMySqlMetadata()运行时,它会获取模式信息,而不是表列表。也许是数据库用户权限的问题?我是root,我不知道mysql,但在SQL Server中,作为机器管理员不会自动授予您SQL Server中的系统管理员角色。如果手动运行查询LoadMySqlMetadata会发生什么情况?有些离题,但对于其他寻找linq2db模板信息的人来说可能也很有趣:
LoadMySqlMetadata("MyServer", "MyDatabase", "root", "TestPassword");