小编Pau*_*aul的帖子

Linq-To-Entities包括

我目前正在学习更多关于Linq-To-Entities的内容 - 特别是关于渴望和懒惰加载的那一刻.

proxy.User.Include("Role").First(u => u.UserId == userId)
Run Code Online (Sandbox Code Playgroud)

这应该加载用户以及用户拥有的任何角色.我有一个问题,但我也有一个问题.这只是为了解L2E而创建的一个简单模型

我的印象是,这是为了让事情变得强烈 - 所以我为什么要写"角色"?看来,如果我更改了表的名称,那么这不会产生编译错误......

我的错误是这样的:

The specified type member 'Roles' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.
Run Code Online (Sandbox Code Playgroud)

下面的解决方案允许我现在编写代码:

proxy.User.Include(u => u.Role).First(u => u.UserId == userId)
Run Code Online (Sandbox Code Playgroud)

哪个好多了!

linq-to-entities entity-framework lazy-loading eager-loading

3
推荐指数
1
解决办法
2251
查看次数

实体框架 - 包含在子查询中?

我不确定这是否已经回答了,我看了几个问题,但我认为它们不是我所追求的.

假设我有3个表:

Restaurant 1.....M MenuCategory 1.....M MenuItem
Run Code Online (Sandbox Code Playgroud)

我有一个L2E查询,看起来像这样:

Restaurant = context.Restaurant
   .Include(r => r.MenuCategory)
   .FirstOrDefault(r => r.RestaurantId == resaurantId);
Run Code Online (Sandbox Code Playgroud)

这在某种程度上起作用,但它只预加载菜单类别.

作为一种解决方法,我能够遍历每个类别并在它们上面调用.Load(),但这将涉及到理论上我应该需要的更多内容.

我真正希望能做的是:

Restaurant = context.Restaurant
   .Include(r => r.MenuCategory)
   .Include(r => r.MenuCategory.MenuItems)
   .FirstOrDefault(r => r.RestaurantId == resaurantId);
Run Code Online (Sandbox Code Playgroud)

但显然这不可用,因为r.MenuCategory是一个可枚举的

答案1:

context.Restaurant.Include( "MenuCategory.MenuItems");

  • 这有效,但不是强类型.我想知道是否有人能够得出一个强类型的第二个答案(我可能会将此问题转移到另一个问题,因为这已得到回答,并且回答得很好.

我把这个问题转移到了另一个问题上,因为我认为从一个完美的答案中拿出一个完全正确的答案是不公平的:

实体框架 - 包含在子查询中?- 第2部分

c# linq-to-entities entity-framework include

3
推荐指数
1
解决办法
4245
查看次数

NHibernate .Query返回陈旧数据

这是我的单元测试(虽然毫无意义,但证明了一点

Config entity = new Config("key", "value");

Session.SaveOrUpdate(entity);

Config config = Session.Query<Config>().SingleOrDefault(c => c.Key == "key");
Assert.IsNotNull(config);
Run Code Online (Sandbox Code Playgroud)

它失败了...但是我不认为应该这样做(请注意,如果我刷新它,它不会失败,但这不是我想要的行为)

如果我用这个替换查询行

Config config = Session.Get<Config>("key");
Run Code Online (Sandbox Code Playgroud)

...通过

它绝对不会刷新(我什至将FlushMode设置为从不只是为了确定)。为什么一个人成功,另一个人不成功?这似乎不正确-我非常希望linq能够成功

c# nhibernate linq-to-nhibernate

3
推荐指数
1
解决办法
765
查看次数

将Subversion存储库转换为Mercurial

我正在尝试将SVN存储库转换为Mercurial,但我遇到了一些麻烦.这些是我采取的步骤:(我在Windows上)

在扩展中打开"转换"

打开命令窗口,然后键入:

hg convert http://myversioncontrorepositoryhere
Run Code Online (Sandbox Code Playgroud)

它说它正在初始化目标文件夹,然后询问:

Enter username for Administration at http://myversioncontrorepositoryhere:
Run Code Online (Sandbox Code Playgroud)

然后键入我的用户名

 in Administration at http://myversioncontrorepositoryhere:
Run Code Online (Sandbox Code Playgroud)

我认为这是我的密码,但它只是循环回来

Enter username for Administration at http://myversioncontrorepositoryhere:
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我非常确定我正确输入了我的用户名和密码.

svn migration mercurial hgrc

2
推荐指数
1
解决办法
2328
查看次数

AspNet角色提供商开始使用它不应该

我收到这个错误:

Line 246:       <roleManager>
Line 247:           <providers>
Line 248:               <add name="AspNetSqlRoleProvider"     connectionStringName="LocalSqlServer" applicationName="/"  type="System.Web.Security.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral,     PublicKeyToken=b03f5f7f11d50a3a"/>
Line 249:               <add name="AspNetWindowsTokenRoleProvider" applicationName="/" type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
Line 250:           </providers>

Source File: C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config    Line: 248 
Run Code Online (Sandbox Code Playgroud)

但是,它不应该是因为我们没有使用aspnetrole提供者.但它在machine.config中.其他网站没有这个问题.有什么可以让它拿起aspnetsqlroleprovider?

asp.net

2
推荐指数
1
解决办法
2784
查看次数

在ASP.Net Core中发布json时,MVC模型为null

所有相关代码:

//JSON data
var dataType = 'application/json; charset=utf-8';
var data = {
    FirstName: 'Andrew',
    LastName: 'Lock',
    Age: 31
}

console.log('Submitting form...');
$.ajax({
    type: 'POST',
    url: '/Diary/Save',
    dataType: 'json',
    contentType: dataType,
    data: data,
    success: function (result) {
        console.log('Data received: ');
        console.log(result);
    }
});


[HttpPost]
public IActionResult Save([FromBody] Person person)
{
    return Json(person);
}



public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int Age { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

Save方法中的“ person”始终为null。这应该可以工作...感觉好像是设置问题吗?我是否需要在这里进行更改: …

asp.net ajax jquery asp.net-core-mvc asp.net-core

2
推荐指数
1
解决办法
1020
查看次数

删除两个图像元素之间的空格字符

页面上有2个小图片:

<a href="link.htm"><img src="image1.jpg" /></a>

<a href="link2.htm"><img src="image2.jpg" /></a>
Run Code Online (Sandbox Code Playgroud)

当它们出现在页面上时,它们不会像我期望的那样直接出现在彼此旁边,它们之间会出现空格字符.

我有点理解为什么这个空间出现了(在标记中它们之间有空间,但是我不希望空间存在).

html layout spaces

1
推荐指数
1
解决办法
1099
查看次数

ASP.NET Core 2.2.0身份支架仍在使用引导3

我正在运行身份代码生成器

dotnet aspnet-codegenerator identity -dc WebApplication1.Data.ApplicationDbContext --force
Run Code Online (Sandbox Code Playgroud)

但是输出的页面基于引导程序3-我读过的书建议它们应该是引导程序4(例如https://github.com/aspnet/Scaffolding/issues/712#issuecomment-420143440

要获得基于BS4的身份页面,我还需要做些其他事情吗?

笔记:

我确保该工具是最新的:

dotnet tool update --global dotnet-aspnet-codegenerator
Tool 'dotnet-aspnet-codegenerator' was reinstalled with the latest stable version (version '2.2.0').
Run Code Online (Sandbox Code Playgroud)

entity-framework-core asp.net-core-mvc asp.net-core

1
推荐指数
1
解决办法
216
查看次数