使用PowerShell通过DbContext访问对象

时间:2019-04-26 23:43:55

标签: entity-framework powershell entity-framework-core

我想通过PowerShell从基于Entity Framework Core的数据库访问对象。

我可以加载包含-g4的DLL并实例化它的一个实例。但是,当访问属性以访问数据库中的元素时,出现以下错误:

enter image description here

该屏幕截图中的文本如下:

DbContext

我尝试用PS C:\temp\RedditDhtk\RedditDhtk\bin\Debug> Add-Type -Path .\RedditDhtk.dll PS C:\temp\RedditDhtk\RedditDhtk\bin\Debug> $db = [RedditDhtkDb.RedditContext]::new() PS C:\temp\RedditDhtk\RedditDhtk\bin\Debug> $db.Links The following exception occurred while trying to enumerate the collection: "Could not load file or assembly 'System.ComponentModel.Annotations, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.". At line:1 char:1 + $db.Links + ~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], ExtendedTypeSystemException + FullyQualifiedErrorId : ExceptionInGetEnumerator 加载错误System.ComponentModel.Annotations中提到的程序集,但这似乎无济于事。

为方便起见,下面显示了实现Add-Path子类的文件的C#代码。

欢迎提出任何建议!

DbContext

1 个答案:

答案 0 :(得分:0)

您可以尝试使用“ [System.Reflection.Assembly] :: LoadWithPartialName()

来加载dll。

您也可以尝试提供dll的完整路径。

谢谢