繁体   English   中英

如何从Entity Framework 6 Code-First加载数据库外部库(程序集)?

[英]How to load database external library (assembly) from Entity Framework 6 Code-First?

我首先使用EF.6代码,我的任务是为SQL Server(程序集)加载外部库。 程序集作为带有二进制的SQL脚本提供,例如:

CREATE ASSEMBLY [assembyName]
FROM 

0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000800000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A2400000000000000504500004C010300675910540000000000000000E00002210B010B000028000000060000000000005E46000000200000006000000000001000200000000200000400000000000000040000000000000000A0000000020000000000000300408500001000001000000000100000100000000000001000000000000000000000000C4600004F000000006000002003000000000000000000000000000000000000008000000C000000D44400001C000000000000000000000000000000000000....

如果我从Management Studio执行脚本,程序集将正确创建。

所以我的问题是...有没有办法像个好习惯那样做,还是应该阅读该文件并使用想要避免的Database.SqlQuery<string> 我希望还有另一种好的做法。

在代码优先的工作流程中使用SQL CLR是非常不寻常的。 您真的要通过迁移来管理此数据库模式吗? 您可以使用SSMS或SSDT来管理数据库架构,而仍然使用EF中的代码优先类和映射。

如果您确实确实想在迁移中执行此操作,那么在应用迁移时存储TSQL脚本文件并读取它们似乎是明智的方法。 为什么要避免这种情况?

好的,我只是将程序集导出到.sql创建脚本文件并将其包含在我的.NET项目中,这有助于在EF迁移中使用SqlFile(filePath)方法创建程序集。 谢谢大卫·布朗(David Browne)的回答。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM