我有C#扩展方法IQueryable,例如FindNewCustomers(),FindCustomersRegisteredAfter(int year)依此类推,我用它来链接查询一起用于LINQ to SQL.
现在我的问题:我想创建编译查询,例如:
private static Func<MyDataContext, SearchInfo, IQueryable<Customer>>
CQFindAll =
CompiledQuery.Compile((MyDataContext dc, SearchInfo info) =>
dc.Contacts.Select(c => c).FindCustomersRegisteredAfter(info.RegYear)
.OrderBy(info.OrderInfo)
.Skip(info.SkipCount)
.Take(info.PageSize));
Run Code Online (Sandbox Code Playgroud)
FindCustomersRegisteredAfter(int year)方法是一种采用IQueryable并返回相同的扩展方法.该OrderBy方法也是一种扩展方法(System.Linq.Dynamic),它根据字符串创建动态表达式(例如"FirstName ASC"将对字段FirstName进行排序).Skip并且Take是内置方法.
上面(不是编译查询,但常规查询)工作完美.一旦我把它放在编译的查询中,我就会遇到以下错误:
方法 'System.Linq.IQueryable`1 [Domain.Customer] FindCustomersRegisteredAfter [客户](System.Linq.IQueryable`1 [Domain.Customer],Int32)将' 没有支持转换为SQL.
再次,如果查询是非编译的,只是常规的LINQ查询,这将完美地工作.只有在CompiledQuery.Compile()内部出现错误.
救命??!
编辑:如果我通过var query =(...)创建查询的方式与CompiledQuery.Compile内部相同,那么这就是生成的SQL:
SELECT [t1].[Id], [t1].[FirstName], [t1].[LastName],
[t1].[RegYear], [t1].[DeletedOn]
FROM (
SELECT ROW_NUMBER() OVER (ORDER BY [t0].[LastName]) AS [ROW_NUMBER],
[t0].[Id], [t0].[FirstName], [t0].[LastName], [t0].[RegYear], …Run Code Online (Sandbox Code Playgroud) 有没有办法创建一个处理项目列表的数据模板?
我有Contact.Phones(EntityCollection<Phone>),我希望数据模板处理列表 - 添加删除编辑等.
有没有办法将DataTemplate的DataType属性设置为泛型EntityCollection<Phone>?
wpf entity-framework generic-list datatemplate generic-programming
这是R用户的问题.我有兴趣绘制一个叠加了点的直方图,而不是条形图.例如,如果数据是(1,1,2,1,2,3,3,3,4,4),那么我希望看到三个点叠加在1,2点,堆叠在2,依此类推.R中最好的方法是什么?
我正在尝试使TabControl根据其外部空间(它在StackPanel中)自动调整大小:
<Window x:Class="Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Height="100">
<Grid>
<StackPanel>
<TabControl
BorderBrush="Red"
BorderThickness="2"
VerticalAlignment="Stretch"
VerticalContentAlignment="Stretch">
<TabItem Header="Tab1"/>
<TabItem Header="Tab2"/>
</TabControl>
</StackPanel>
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
上面的代码片段生成以下窗口,同时我希望红色边框到达窗口的底部:

简而言之,我正在寻找JFugue的.NET翻译.
更新
我意识到JFugue没有真正的.NET替代方案,对于想要自己开发它的人来说,下面的帖子总是很棒.
谢谢你们所有人.
注意:我想强调我的搜索是在转录部分,而不是播放部分,换句话说,我正在寻找具有MIDI映射类等的.NET引擎.
到目前为止,NAudio似乎是最热门的替代品.
当我使用Entity Framework迁移的Add-Migration命令时,我得到以下异常:
System.NullReferenceException: Object reference not set to an instance of an object. at System.Data.Entity.Migrations.Extensions.ProjectExtensions.GetFileName(Project project, String projectItemName) at System.Data.Entity.Migrations.MigrationsCommands..ctor(Object project, Object startUpProject, String configurationTypeName, String connectionStringName, String connectionString, String connectionProviderName, PSCmdlet cmdlet)
任何见解?
我几天前找到了mediafire API.
http://developers.mediafire.com
无论如何我在互联网上搜索是使用API制作一个用于将文件上传到mediafire帐户的网络应用程序.不幸的是我没有找到任何东西.有人知道如何使用mediafire API和PHP创建上传Web应用程序的文件.
我想设置一个TabControl,它的标题位于左侧而不是顶部,我该怎么做?
我知道每个文件都有元数据,如标题、主题、关键字和评论:

但是,如果我需要什么样的自定义元数据标签,例如
可以用 C# 来做吗?
c# ×3
wpf ×3
api ×2
midi ×2
tabcontrol ×2
.net ×1
datatemplate ×1
file-io ×1
generic-list ×1
histogram ×1
jfugue ×1
layout ×1
linq ×1
linq-to-sql ×1
mediafire ×1
metadata ×1
migration ×1
orientation ×1
php ×1
plot ×1
r ×1
tabitem ×1
uploading ×1
vb.net ×1
wpf-controls ×1