小编Jac*_*cob的帖子

为什么Contains()运算符会如此显着地降低Entity Framework的性能?

更新3:根据此公告,EF团队在EF6 alpha 2中已经解决了这个问题.

更新2:我已经创建了一个解决此问题的建议.要投票,请到这里.

考虑一个带有一个非常简单的表的SQL数据库.

CREATE TABLE Main (Id INT PRIMARY KEY)
Run Code Online (Sandbox Code Playgroud)

我用10,000条记录填充表格.

WITH Numbers AS
(
  SELECT 1 AS Id
  UNION ALL
  SELECT Id + 1 AS Id FROM Numbers WHERE Id <= 10000
)
INSERT Main (Id)
SELECT Id FROM Numbers
OPTION (MAXRECURSION 0)
Run Code Online (Sandbox Code Playgroud)

我为表构建EF模型并在LINQPad中运行以下查询(我使用"C#语句"模式,因此LINQPad不会自动创建转储).

var rows = 
  Main
  .ToArray();
Run Code Online (Sandbox Code Playgroud)

执行时间约为0.07秒.现在我添加Contains运算符并重新运行查询.

var ids = Main.Select(a => a.Id).ToArray();
var rows = 
  Main
  .Where (a => ids.Contains(a.Id))
  .ToArray();
Run Code Online (Sandbox Code Playgroud)

这种情况的执行时间是20.14秒(慢288倍)!

起初我怀疑为查询发出的T-SQL需要更长的时间才能执行,因此我尝试将其从LINQPad的SQL窗格剪切并粘贴到SQL Server Management Studio中.

SET …
Run Code Online (Sandbox Code Playgroud)

c# sql performance contains entity-framework-4

79
推荐指数
5
解决办法
4万
查看次数

属性"Id"是对象的关键信息的一部分,无法修改

我正在使用Entity Framework 4.0并且有一个我无法弄清楚的愚蠢问题.

我有两张桌子:

  1. 联系人:Id(主键),Value,ContactTypeId(ContactType的外键)
  2. ContactType:Id(主键),类型(Home,Cell,Work等)

实体框架创建了以下两个实体:

  1. 联系方式:Id,Value,ContactType(导航属性)
  2. ContactType:Id,Type,Contact(Navigation Property)

我正在使用以下代码获取联系人并更新该特定联系人的联系人类型:

Contact contact = dbContext.Contacts.Single(c => c.Id == 12345);
contact.ContactType.Id = 3;
Run Code Online (Sandbox Code Playgroud)

引发以下异常:

The property 'Id' is part of the object's key information and cannot be modified.
Run Code Online (Sandbox Code Playgroud)

看起来很简单!我不明白!

c# foreign-keys entity-framework-4

38
推荐指数
5
解决办法
11万
查看次数

实体框架4.1 InverseProperty属性

只是想了解更多关于RelatedTo属性的信息,我发现它已被EF 4.1 RC中的ForeignKeyInverseProperty属性所取代.

有没有人知道有关此属性变得有用的场景的任何有用资源?

我应该在导航属性上使用此属性吗?例:

public class Book
{
  public int ID {get; set;}
  public string Title {get; set;}

  [ForeignKey("FK_AuthorID")]
  public Author Author {get; set;}
}  

public class Author
{
  public int ID {get; set;}
  public string Name {get; set;}
  // Should I use InverseProperty on the following property?
  public virtual ICollection<Book> Books {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

c# data-annotations entity-framework-4.1

37
推荐指数
2
解决办法
2万
查看次数

Chart.js在饼图上显示标签

我最近将我的charts.js库更新到最新版本(2.5.0).此版本不显示图表上的标签.

我有一个在提琴手上工作的例子:http://jsfiddle.net/g6fajwg8.

但是,我在示例中完全定义了我的图表,但仍然看不到图表上的标签.

注意:在Google和Stackoverflow上有很多这样的问题,但大多数问题都与之前的版本有关.

var config = {
    type: 'pie',
    data: {
        datasets: [{
            data: [
              1200,
              1112,
              533,
              202,
              105,
            ],
            backgroundColor: [
              "#F7464A",
              "#46BFBD",
              "#FDB45C",
              "#949FB1",
              "#4D5360",
            ],
            label: 'Dataset 1'
        }],
        labels: [
          "Red",
          "Green",
          "Yellow",
          "Grey",
          "Dark Grey"
        ]
    },
    options: {
        responsive: true,
        legend: {
            position: 'top',
        },
        title: {
            display: true,
            text: 'Chart.js Doughnut Chart'
        },
        animation: {
            animateScale: true,
            animateRotate: true
        }
    }
};

window.pPercentage = new Chart(ChartContext, config);
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

javascript jquery charts chart.js

31
推荐指数
2
解决办法
6万
查看次数

如何在MVVM WPF应用程序中控制ListBox的滚动位置

我有一个大的ListBox启用了垂直滚动,我的MVVM有New和Edit ICommands.我在集合的末尾添加了新项目,但是当我调用MVVM-AddCommand时,我还希望滚动条自动定位到End.我也从应用程序的其他部分创建一个可编辑的项目(通过调用带有特定行项的EditCommand),以便我的ListBoxItem使用DataTrigger进入编辑模式,但是如何将该特定行(ListBoxItem)带到视图中通过调整滚动位置.

如果我在View端进行,我可以调用listBox.ScrollInToView(lstBoxItem).但是从MVVM角度解决这个常见Scroll问题的最佳方法是什么.

c# wpf listbox mvvm scrollviewer

24
推荐指数
3
解决办法
2万
查看次数

Bootstrap 3模态响应

我有一个模态,但它没有在较小的屏幕(平板电脑等)上调整大小.有没有办法让它响应?找不到有关bootstrap文档的任何信息.谢谢

我更新了我的html代码:(它在django for循环中)

    <div class="modal fade " id="{{ p.id }}" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" >
      <div class="modal-dialog modal-lg">
        <div class="modal-content">
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
            <h4 class="modal-title" id="myModalLabel">Producto</h4>
          </div>
          <div class="modal-body">
            <h5>Nombre : {{ p.name}}</h5>       
          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>

          </div>

        </div>
      </div>
    </div>
Run Code Online (Sandbox Code Playgroud)

我有这个css设置:

.modal-lg {
  max-width: 900px;}
@media (min-width: 768px) {
   .modal-lg {
    width: 100%;
  } 
}
@media (min-width: 992px) {
  .modal-lg {
    width: 900px;
  }
}
Run Code Online (Sandbox Code Playgroud)

html css twitter-bootstrap-3

22
推荐指数
3
解决办法
9万
查看次数

使用实体框架加载嵌套实体/集合

我试图在一次调用中急切地加载所有相关实体或实体集合.我的实体看起来像:

Class Person
{
    public virtual long Id { get; set; }
    public virtual string FirstName { get; set; }
    public virtual string LastName { get; set; }
}

Class Employee
{
    public virtual long Id { get; set; }
    public DateTime AppointmentDate { get; set; }
    public virtual ICollection<EmployeeTitle> Titles { get; set; }
    public virtual Person Person { get; set; }
}

Class EmployeeTitle
{
    public virtual long Id { get; set; }
    public virtual bool IsCurrent { …
Run Code Online (Sandbox Code Playgroud)

c# entity-relationship code-first eager-loading entity-framework-4.1

18
推荐指数
2
解决办法
2万
查看次数

Chrome是否具有"x-webkit-speech"输入元素的内置语音识别功能?

我想知道怎么做

<input type="text" x-webkit-speech speech />
Run Code Online (Sandbox Code Playgroud)

是否有内置于Chrome中的语音识别功能,或者是否正在访问操作系统中的基础语音识别功能?

html5 speech-recognition webkit google-chrome

17
推荐指数
5
解决办法
2万
查看次数

如何在jQuery完整日历中选择月份?

我们使用jQuery完整日历来显示来自数据库的事件.

我需要根据用户选择的月份在日历下方显示事件onchange.我可以根据事件日期获取数据,但我无法在jQuery日历中获得用户选择的月份.

$('#calendar').fullCalendar({
    theme: true,
    header: {

        left: 'today',
        center: 'prevYear,prev,title, next,nextYear',
        right: ' month,agendaWeek,agendaDay'
    },
    buttonText: {
        prevYear: 'Prev'
    },
    editable: false,
    events: [
    <?php foreach ($edumeet_invite_det as $key =>  $edumeet_det): ?> 
    <?php $edumeet_start = $edumeet_det->getFromDate(); ?>
    <?php $edumeet_end = $edumeet_det->getToDate(); ?>
    <?php $title = $edumeet_det->getTitle(); ?> 
        {
            title:'<?php echo $title; ?>',
            start:'<?php echo $edumeet_start ?>',
            end:'<?php echo $edumeet_end ?>',
            allDay: false
        },
    <?php endforeach; ?>
        ],

    eventColor: '#378006',    
});
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的日历功能,我需要获得用户选择的月份onchange.有没有人有这个问题的解决方案?

javascript php jquery fullcalendar

15
推荐指数
2
解决办法
4万
查看次数

如何在单页中添加多个不可见的recaptcha?

我添加了两个不可见的recaptcha div,但是当我在inspect元素中看到代码时,我的单页中只添加了一个不可见的recaptcha.我的代码是:

 <div id="captcha1" class="g-recaptcha"
      data-sitekey="your_site_key"
      data-callback="onSubmit"
      data-size="invisible"></div>
<div id="captcha2" class="g-recaptcha"
      data-sitekey="your_site_key"
      data-callback="onSubmit"
     ></div>
Run Code Online (Sandbox Code Playgroud)

Programmatically调用recaptcha获取参考

你能帮我解决我做错的事吗?

html javascript jquery recaptcha invisible-recaptcha

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