小编Sir*_*ufo的帖子

实体框架EF.Functions.Like vs string.Contains

我正在阅读实体框架核心2.0的公告https://blogs.msdn.microsoft.com/dotnet/2017/08/14/announcing-entity-framework-core-2-0/

它说它们添加了新的Sql函数,就像EF.Functions.Like执行SQL LIKE操作一样.

我想知道,那么EF.Functions.Likestring.Contains/ 之间的区别是StartsWith什么?

例如:

var customers = context.Customers.Where(c => c.Name.StartsWith("a")); // Version A
var customers = context.Customers.Where(c => EF.Functions.Like(c.Name, "a%")); // Version B
Run Code Online (Sandbox Code Playgroud)

两个版本之间有什么区别?EF已经知道如何翻译string.Contains/ StartsWith到相应的SQL操作,不​​是吗?

我能想到的唯一原因是EF.Functions.Like会允许更复杂的模式"a%b%"(尽管这个可以写成StartsWith("a") && Contains("b"))

这是什么原因?

c# entity-framework

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

实现接口包括抛出新的NotImplementedException ...为什么?

我正在使用VS2017社区,它昨天刚收到更新.今天我想实现一个接口,现在实现如下:

public string City 
{ 
    get => throw new NotImplementedException(); 
    set => throw new NotImplementedException(); 
}
Run Code Online (Sandbox Code Playgroud)

而不是这(我的预期):

public string City { get; set; }
Run Code Online (Sandbox Code Playgroud)

为何如此改变?不确定这是否特定于C#7或VS或其他什么.我只知道接口的自动实现在过去一周左右发生了变化.

我的界面:

public interface IMyInterface
{
    string City { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

c# visual-studio-2017

27
推荐指数
3
解决办法
4503
查看次数

How can I make QScintilla auto-indent like SublimeText?

Consider the below mcve:

import sys
import textwrap

from PyQt5.Qsci import QsciScintilla
from PyQt5.Qt import *


if __name__ == '__main__':

    app = QApplication(sys.argv)
    view = QsciScintilla()

    view.SendScintilla(view.SCI_SETMULTIPLESELECTION, True)
    view.SendScintilla(view.SCI_SETMULTIPASTE, 1)
    view.SendScintilla(view.SCI_SETADDITIONALSELECTIONTYPING, True)

    view.setAutoIndent(True)
    view.setTabWidth(4)
    view.setIndentationGuides(True)
    view.setIndentationsUseTabs(False)
    view.setBackspaceUnindents(True)

    view.setText(textwrap.dedent("""\
        def foo(a,b):
            print('hello')
    """))

    view.show()
    app.exec_()
Run Code Online (Sandbox Code Playgroud)

The behaviour of the auto-indent of the above snippet is really bad when comparing it with editors such as SublimeText or CodeMirror. First let's see how nice will behave the autoindent feature in SublimeText with …

c++ python qscintilla sublimetext pyqt5

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

在Firemonkey中获取应用程序路径

所以在VCL中,可以使用以下代码行来检索应用程序路径:

ExtractFilePath(Application.ExeName)
Run Code Online (Sandbox Code Playgroud)

我尝试了同样的事情Firemokey,我注意到ExeName不再可用.我可以使用哪些代码作为替代方案?

delphi delphi-xe3 firemonkey-fm2

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

Android上的Delphi XE5串口

任何人都知道如何使用delphi XE5访问android中的串口?我正在使用带有android 4.1的Cubieboard

delphi android serial-port delphi-xe5

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

如何在mysql中更改存储过程

如何在Mysql中更改存储过程.

DROP PROCEDURE IF EXISTS sp_Country_UPDATE; 
CREATE PROCEDURE sp_Country_UPDATE 
  ( IN p_CountryId int, 
    IN p_CountryName nvarchar(25), 
    IN p_CountryDescription nvarchar(25), 
    IN p_IsActive bit, 
    IN p_IsDeleted bit ) 
  UPDATE 
    Country 
  SET 
    CountryName = p_CountryName , 
    CountryDescription=p_CountryDescription, 
    IsActive= p_IsActive, 
    IsDeleted=p_IsDeleted 
  WHERE 
    CountryId = p_CountryId ;
Run Code Online (Sandbox Code Playgroud)

如何更改此存储过程?

mysql

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

SysUtils和System.SysUtils中的DecimalSeparator

我需要找到DecimalSeparator var SysUtils Delphi 7,在Delphi XE6中我试图在System.SysUtils中找到,但没有成功.有人可以告诉我在Delphi XE6中哪里可以找到她吗?

在Delphi 7中,它位于第618行的SysUtils.pas单元中:

var 
   CurrencyString: string; 
   CurrencyFormat: Byte; 
   NegCurrFormat: Byte; 
   ThousandSeparator: Char; 
   DecimalSeparator: Char;
Run Code Online (Sandbox Code Playgroud)

我需要这个变量来将Delphi 7的一个组件转换为XE6

delphi components vcl

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

Mysql Select with LIKE子句不能正常工作

我的数据存储在单列中,有英文和中文.

数据由分隔符分隔,例如中文

<!--:zh-->??<!--:-->
Run Code Online (Sandbox Code Playgroud)

对于英语

<!--:en-->English Characters<!--:-->
Run Code Online (Sandbox Code Playgroud)

我会根据用户选择的语言显示内容.

我做了这样的查询

SELECT * FROM table WHERE content LIKE '<!--:zh-->%<!--:-->' 
Run Code Online (Sandbox Code Playgroud)

上面的查询有效,但返回空结果集.

Collationcontentutf8_general_ci

我也尝试过使用convert下面的功能

SELECT * FROM table WHERE CONVERT(content USING utf8) 
                           LIKE CONVERT('<!--:zh-->%<!--:-->' USING utf8)
Run Code Online (Sandbox Code Playgroud)

但这也行不通.

我也试过运行查询,SET NAMES UTF8但它仍然无法正常工作.

PhpMyAdmin如果它确实重要,我正在运行查询.


qTranslate没有更改WordPress使用的数据库.翻译数据存储在原始字段中.因此,每个字段都包含该特殊字段的所有翻译,并且数据是这样的

<!--:en-->English Characters<!--:--><!--:zh-->??<!--:-->
Run Code Online (Sandbox Code Playgroud)

http://wpml.org/documentation/related-projects/qtranslate-importer/

mysql select

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

TAction.OnUpdate事件是否会降低性能?

在Delphi XE7中,我使用此技巧根据是否选择了ListView中的项目来自动启用或禁用工具栏按钮("编辑ListView项目"),以防止用户在没有ListView时单击按钮选择的项目:

  • 将TActionList放在VCL表单上.
  • 在ActionList中创建一个动作actTest.
  • 将TButton放在表单上.
  • 将操作分配actTest给按钮.
  • 在表单上放置一个TListView.
  • 在ListView中创建两个项目.
  • OnUpdate该事件actTest的行动写:

     procedure TForm1.actTestUpdate(Sender: TObject);
     begin
       actTest.Enabled := ListView1.SelCount > 0;
       CodeSite.Send('actTestUpdate'); // gets fired very often!
     end;
    
    Run Code Online (Sandbox Code Playgroud)

现在,您可以看到根据是否选择了ListView中的项目来启用或禁用该按钮,与您是使用鼠标还是使用键盘或以编程方式选择/取消选择项目无关.

但是,在CodeSite Live Viewer中,我可以看到actTestUpdate事件是连续且非常频繁地触发的,因此该语句很快actTest.Enabled := ListView1.SelCount > 0;就被执行了.

所以我的问题是:这会降低性能吗?如果是,是否有另一种技巧可以实现上述目的?

delphi taction tlistview delphi-xe7

10
推荐指数
3
解决办法
1370
查看次数

阵列太大了吗?

目前我有一个TCube阵列

CreateCube : array[1..1000] of tcube;
Run Code Online (Sandbox Code Playgroud)

目前使用它们作为地图,因此您可能有30个立方体宽,20个立方体高,从而形成一个大网格.但是1000个立方体并不足以满足我的需要,我需要更多像10,000个立方体.

有这样大小的阵列会导致问题吗?还有其他选择吗?

delphi delphi-xe2 firemonkey

9
推荐指数
2
解决办法
785
查看次数