- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Asp.net MVC - C# 项目,想在项目中使用之前使用 LINQPad 测试它的一些 Entity Framework 语句。
项目有不同的类库如
ApplicationDbContext
类)A) 我在 LINQPad 中向 DAL 添加了一个 EF Connection 并加载了所有实体在其窗口的左侧树中成功。 [见下图]
B) 此外,我还从 LINQPad Query 添加了一些必需的引用到以下 DLL:
当我右键单击左侧树中的实体并选择每个选项时,它会显示此错误:
The name '[Conceptual_Model_Name]' does not exist in the current context
为什么?我该如何解决这个问题?
编辑 1:
在 ApplicationDbContext
类的 OnModelCreating
方法中,我调用以下方法来将实体添加到 DbContext
动态。
public void LoadEntities(Assembly asm, DbModelBuilder modelBuilder, string nameSpace)
{
var entityTypes = asm.GetTypes()
.Where(type => type.BaseType != null &&
type.Namespace == nameSpace &&
type.BaseType == null)
.ToList();
var entityMethod = typeof(DbModelBuilder).GetMethod("Entity");
entityTypes.ForEach(type => entityMethod.MakeGenericMethod(type).Invoke(modelBuilder, new object[] { }));
}
我用这行代码调用它:
LoadEntities(typeof(AppUser).GetTypeInfo().Assembly, modelBuilder, "DomainClasses.Entities");
是否可能与动态加载模型有关?
最佳答案
我自己解决了!
我在问题中写的怀疑是正确的。正如我在问题中所写,我将实体添加到 DbContext
作为动态但现在我将其更改为静态方式,如下所示:
// Add this property to the ApplicationDbContext class
public virtual DbSet<Consumption> Consumptions { get; set; }
现在,当我在 LINQPad
中使用 Consumptions
属性时,它可以工作...
关于c# - 为什么LinqPad返回 The name 'ModelName' does not exist in the current context 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43778203/
根据 LINQPad 网站,有几种不同的构建 原版版本(homepage 上的“立即下载”) X64 版本 AnyCPU build http://www.linqpad.net/Beta.aspx
总NOOB问题。我已经使用新的linqpad大约20分钟了。伟大的! 但是现在我想在数据库中删除一行。我正在使用EF5.0连接。我似乎无法在帮助文件或网上找到任何内容。我唯一能找到的是DeleteOn
在 LINQPad 的左下角,有一个显示查询的区域。一个选项卡是我的查询,另一个选项卡是 sample 。我找不到像在“我的查询”中那样添加多个文件夹的方法,就像在“示例”选项卡中一样。我尝试右键单击
在 Linqpad 中重新运行查询之间会保存什么状态?我假设没有,所以如果你运行一个脚本两次,它两次都会有相同的结果。 但是,在同一个 Linqpad 选项卡中运行下面的 C# 程序两次。你会发现第一
Linqpad 是唯一一个类似脚本的环境,我可以在其中使用我的大型代码库。它是唯一适合我的环境的原因是其他解决方案(ironpython 等)总是无法从 app.config 正确加载配置,但 lin
我的团队有很多我们通过 git 存储库共享的 linqpad 脚本。我们使用对我们自己的代码库的引用,其中每个团队成员的本地路径可能不同。因此,如果我们想要运行这样的脚本,我们需要首先编辑它的引用以指
在 LinqPad 中,我可以使用类似的东西 Console.ReadKey(); 或者 Util.ReadLine(); 但是,如何以可以实际输入输入的方式运行这些程序? UI 没有控制台窗口! 最
当我在 Linqpad 中运行查询时,我想在针对生产数据库运行查询时做一些额外的检查,是否有一种方法可以通过编程方式检测当前 linqpad 脚本的连接字符串是否处于事件状态标记为生产? 最佳答案 是
LINQPad 中显示的结果是有限的。如果对象嵌套很深,则会显示一条红线。 我想增加一个限制,这样我就可以看到更多的嵌套对象。 你知道怎么做吗? (我在选项中没有找到。) Background not
使用 LINQPad,使用扩展方法 Dump()、Console.WriteLine 或 Debug.Writeline,这些值将出现在结果窗口中。 有没有办法在 linqpad 脚本运行期间清除此结
我有一个 LINQPad 脚本文件 *.linq 并且有数据库连接的密码。如何提取密码? (看起来像是Base64编码的二进制数据。) 最佳答案 LINQPad 使用 DPAPI 加密密码。因此,只有
如何在 Linqpad 的文本编辑器中启用自动换行? 最佳答案 现在 LINQPad 中没有自动换行选项。您可以注册一个请求 here . 截至 Linqpad Beta v4.48 ,现在支持自动换
有没有办法,当我在 LINQPad 中打开查询时,它会执行它并将我置于仅结果 View 中?其预期用例是在 LINQPad 中编写小型应用程序。我不想每次都按 F5 和 Ctrl+Shift+R。 这
有没有办法在LINQPad中捕获结果面板的内容;也就是说,以编程方式捕获它,例如将其保存到文件中? 最佳答案 查看 LINQPad 的扩展方法。这是一个很好的堆栈溢出问题: LINQPad [exte
我正在引用 NuGet 包 ABCpdf ,它提供了一个托管的 DLL abcpdf.dll以及四对原生 DLL,在 x86 和 x64 版本中: packages\ABCpdf\11.2.2\bui
LinqPad 中的所有 Linq 查询(来自 SQL 的查询数据)都是只读的吗?我无法编辑数据,只能读取它。对? 下面的查询生成只读 View ,我没有找到编辑数据的方法。 from u in Us
我正在尝试为 WinForm 调用 ShowDialog(创建表单的实际代码位于 .linq 脚本中)并且一切正常,但对话框未显示在 LINQPad 应用程序的中心。当多个显示器在运行并且我盯着 LI
我观察到,如果我刷新或重新加载 LINQPad 指定的 Plugins 目录中的 dll,我还必须关闭并重新打开当前脚本才能使库更改生效 - 这当然是有道理的。我的问题是是否有一个命令或键专门执行此重
我正在尝试为 WinForm 调用 ShowDialog(创建表单的实际代码位于 .linq 脚本中)并且一切正常,但对话框未显示在 LINQPad 应用程序的中心。当多个显示器在运行并且我盯着 LI
默认情况下,LINQPAD 中的示例文件位于何处?在 C:\Users\MyUserName\AppData\Roaming\LINQPad\Samples 中,我看到了一些示例,但它不包括默认示例。
我是一名优秀的程序员,十分优秀!