我一直在网上搜索微软实体框架技术预览中新的流畅API语法的例子......我在这里和那里想出了点点滴滴.
有没有可靠的地方去寻找所有的可能性?也许有些东西可以解释它们("HasRequired","WithMany"等)?
仅供参考,我特别想弄清楚如何通过Fluent API明确定义外键/主键关系.
关于Fluent API有许多教程,但它们都使用Entity Framework Code-First代码示例来解释它.由于我不了解Code-First,您知道任何使用EF Database-First方法解释主题的Fluent API教程吗?
谢谢
我有流畅的NHibernate Linq查询,我根据运行时数组检查值.一个基本的例子是:
var array = [1,2,3,4,5,6];
using (var session = SessionProvider.SessionFactory.OpenSession())
{
return session.Query<MyObject>().Where(x => array.Contains(x.CompareVal)).ToList();
}
Run Code Online (Sandbox Code Playgroud)
我希望生成的SQL语句看起来像这样:
SELECT CompareVal, Column1, Column2
FROM MyObject
WHERE CompareVal IN (1,2,3,4,5,6)
Run Code Online (Sandbox Code Playgroud)
但是,我发现的是生成的SQL语句只是发出WHERE子句(通过在Profiler中观察证明)并选择整个表,然后在获得所有数据后似乎在内存中运行过滤器.
需要注意的事项 - 我有一个Generic Repository类,所有这些调用都是通过漏洞进行的.Query方法如下:
public IList<T> Query(Func<T, bool> criteria)
{
using (var session = SessionProvider.SessionFactory.OpenSession())
{
return session.Query<T>().Where(criteria).ToList();
}
}
Run Code Online (Sandbox Code Playgroud)
显然,在具有大量数据的表中,这种情况(缺少where子句)是不可接受的.我该怎么做才能强制NHibernate使用WHERE子句正确生成查询并仍保留存储库的通用模式?
有没有办法在Laravel 4中生成SQL查询(使用查询生成器),它支持"from"子句中的多个表,而不使用连接?
我想做这样的事情:
SELECT * FROM table_1 as t1, table_1 as t2...
Run Code Online (Sandbox Code Playgroud)
这可以在不使用连接的情况下完成吗?我注意到from()方法在表名/别名之后删除了任何东西:
->from('table_1 as t1, table_1 as t2')
Run Code Online (Sandbox Code Playgroud)
成为(是的,最后用逗号):
table_1 as t1,
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.
我试图使用distinct()与pagination()在laravel 5.2与流畅,它给结果正确,但分页保持不变(不一样适用不同).
我已经使用我的代码审查并测试了下面的答案
- laravel 5 - paginate total()的查询与distinct
- Paginate&Distinct
- 查询生成器分页方法计数错误时使用distinct
我的代码是这样的:
DB::table('myTable1 AS T1')
->select('T1.*')
->join('myTable2 AS T2','T2.T1_id','=','T1.id')
->distinct()
->paginate(5);
Run Code Online (Sandbox Code Playgroud)
示例
- 我有三个记录的结果(即POST1,POST2,POST3和POST1),所以我申请distinct().
- 现在我的结果是POST1,POST2和POST3,但分页仍然显示为4条记录(如果应用之前的结果distinct()).
任何建议将不胜感激!
我的 Serilog 配置代码如下所示:
Log.Logger = new LoggerConfiguration()
.Enrich.WithExceptionDetails()
.Enrich.FromLogContext()
.MinimumLevel.Warning()
// .MinimumLevel.Override("Microsoft", LogEventLevel.Verbose)
// .MinimumLevel.Override("System", LogEventLevel.Verbose)
// .MinimumLevel.Override("Microsoft.AspNetCore.Authentication", LogEventLevel.Verbose)
.WriteTo.Console( outputTemplate: "[{Timestamp:HH:mm:ss} {Level}] {SourceContext}{NewLine}{Message:lj}{NewLine}{Exception}{NewLine}", theme: AnsiConsoleTheme.Literate )
// .WriteTo.File()
.CreateLogger();
Run Code Online (Sandbox Code Playgroud)
我想在运行时更改此配置,不幸的是,因为 Serilog 使用了“流畅”风格的 API,这使它有些混乱。例如,如果我想在运行时启用或禁用控制台和文件日志记录:
Boolean enableConsoleLogging = ...
Boolean enableFileLogging = ...
LoggerConfiguration builder = new LoggerConfiguration()
.Enrich.WithExceptionDetails()
.Enrich.FromLogContext()
.MinimumLevel.Warning();
if( enableConsoleLogging )
{
builder = builder
.WriteTo.Console( outputTemplate: "[{Timestamp:HH:mm:ss} {Level}] {SourceContext}{NewLine}{Message:lj}{NewLine}{Exception}{NewLine}", theme: AnsiConsoleTheme.Literate )
}
if( enableFileLogging )
{
builder = builder
.WriteTo.File( ... )
}
Log.Logger = builder.CreateLogger(); …Run Code Online (Sandbox Code Playgroud) 微软于 2018 年 5 月宣布,他们将很快发布适用于 WPF 的 Fluent Design Toolkit。是否已经有更多信息什么时候发布?
我有许多嵌套的复杂对象,我尝试使用以下代码将它们与流畅断言进行比较:
\nrestResponse.Should().BeEquivalentTo(mappedSoapResponse, options =>\n {\n options.AllowingInfiniteRecursion();\n options.IgnoringCyclicReferences();\n return options;\n });\nRun Code Online (Sandbox Code Playgroud)\n尽管如此,尽管特别启用了无限递归,但我仍然遇到“达到最大递归深度\xe2\x80\xa6”的问题。
\n我正在编写一个使用 FluentUI 的 React 应用程序。
在系统上工作时一切都很好(ofc我正在调用initializeIcons()函数)。然而,当我使用 jest 运行测试时,我不断收到大约 100 次警告,导致输出非常混乱且难以理解
我怎样才能抑制警告(即使是暂时的)?
[2022/04/17 14:48:10] [警告] [引擎] 无法刷新块 '1-1650206880.316011791.flb',16秒后重试:task_id=4,input=tail.0 > output=es.0 (out_id=0) [2022/04/17 14:48:10] [错误] [输出:es:es.0] HTTP 状态=400 URI=/_bulk,响应:{"error":{"root_cause": [{"type":"illegal_argument_exception","reason":"操作/元数据行 [1] 包含未知参数 [_type]"}],"type":"illegal_argument_exception","reason":"操作/元数据行[1] 包含未知参数 [_type]"},"status":400}
fluent ×10
c# ×3
laravel ×2
sql ×2
entities ×1
icons ×1
jestjs ×1
laravel-5.2 ×1
nhibernate ×1
orm ×1
pagination ×1
php ×1
reactjs ×1
serilog ×1
toolkit ×1
typescript ×1
uwp ×1
wpf ×1