我想知道如何使用 EF6 从 SQL Server 流式传输数据。
假设有这些课程
假设 PersonUsingClass 依赖于获取一堆 DomainPerson。假设业务规则规定不允许 EFPerson 离开 PersonRepository。
通常我会有一个如下所示的存储库方法:
public IEnumerable<DomainPerson> GetPeople()
{
using (var db = new efContext())
{
IQueryable efPeople = db.Person.Where(someCriteria);
foreach (var person in efPeople)
{
yield return person.ToDomainPerson();
}
}
}
Run Code Online (Sandbox Code Playgroud)
使用我这里的代码,所有内容都会在执行 foreach 时加载到内存中。我可以通过将 IQueryable 返回到 PersonUsingClass 来实现流式处理,但这会将 EF 模型暴露给该类,这是一种不需要的情况。
难道真的不可能在流数据的同时隐藏 EF 模型吗?还是有什么我不知道的事情?
我想创建一个Windows窗体应用程序,它只显示一个计时器:
xx天xx小时xx分钟xx秒
我对 EditText 的属性有这个愚蠢且看似微不足道的问题。
我试图为 EditText 实现的属性如下:
视图的内容不应包含换行符。它可以是文本、数字、符号,但不能是换行符。
由于上述原因,软键盘不应显示输入按钮。它应该显示类似“发送”或“完成”的内容。
当到达屏幕边缘时,视图的内容不应水平继续。相反,我想包装文本,将其显示在多行上。
我尝试了许多不同的组合,但我无法实现这种组合。
我目前拥有的是这个,它在一个RelativeLayout里面:
<EditText
android:id="@+id/comment_box"
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_below="@id/preparation_text"
android:hint="@string/comment_hint"
android:inputType="textCapSentences|textAutoCorrect|text"
android:scrollHorizontally="false"
android:maxLength="400"
android:imeOptions="actionSend"/>
Run Code Online (Sandbox Code Playgroud)
它实现了 2 of 3。不可能换行,键盘显示“发送”而不是我的回车键,但文本继续在一行上。
更改inputType="text"为"textMultiLine"在多行上正确换行文本,但也会覆盖键盘以始终显示输入按钮。
我在 Internet 上尝试了不同的解决方案,包括设置属性maxLines="4",singleLine="true"以及可能我又忘记了的其他解决方案。
我找不到有效的组合。
我是C#的新手,正在努力理解课程和"是一种"关系.我一直试图让一段代码工作,但我似乎无法做到正确.
它看起来像这样:http://pastebin.com/cQDusptB
我有一个基类,哺乳动物,其中一个应该能够创建实例,给出哺乳动物的名称作为输入.我还有一个班,狗,这是一个哺乳动物.应该能够以与Mammal相同的方式创建此实例.
任何人都可以看到我的缺陷吗?如果是的话,你能解释我误解/忘记的内容吗?
我再一次陷入练习中.当我打开我的程序时,我想要一个MP3文件播放 - 我能做到这一点,我得到了音乐.我还想要一个允许暂停音乐的复选框 - 但要么我很累,要么事情不起作用 - 当我检查/取消选中它时没有任何反应.我这样做了:
public void PlayPause(int Status)
{
WMPLib.WindowsMediaPlayer wmp = new WMPLib.WindowsMediaPlayer();
switch (Status)
{
case 0:
wmp.URL = "Musik.mp3";
break;
case 1:
wmp.controls.play();
break;
case 2:
wmp.controls.pause();
break;
}
}
Run Code Online (Sandbox Code Playgroud)
在打开程序时,使用案例0调用该方法.音乐播放.都好.然而,这不起作用,我不明白为什么,因为这是非常简单的代码.
public void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked == true)
{
PlayPause(2);
}
else if (checkBox1.Checked == false)
{
PlayPause(1);
}
}
Run Code Online (Sandbox Code Playgroud)
任何关于为什么选中复选框的想法都不会暂停/取消暂停音乐?
我目前正在Scheme中为一个作业编写一个小项目.我没有长时间使用Scheme,所以我对语法不够强.
问题是在if句中使用"和".我有一个日历中的约会列表,但我只想要在一定时间间隔之间的约会.因此,我需要检查开始和结束时间.
我希望实现的内容在C#中看起来像这样:
List<appointment> appointments = new List<appointment>();
foreach (appointment app in calendar) {
if(app.getstart() >= from-time && app.getend() <= to-time) {
appoinments.add(app);
}
}
Run Code Online (Sandbox Code Playgroud)
我目前在Scheme中拥有的是:
(define (time-calendar cal from-time to-time)
(map (lambda (app)(if (> from-time (send 'getstart app)) #t #f))
(send 'getappointments cal)))
Run Code Online (Sandbox Code Playgroud)
采用日历"cal"和时间间隔(从时间到时间)然后我从cal获得约会(app)并迭代它们.对于每个人,我检查时间是否大于"app"的开始时间.相应地返回true或false.这很有效,但我仍然需要考虑约会是否也在"准时"之前结束.这应该是添加另一个条件的简单问题,但我根本无法使其工作.
任何人都可以帮助我检查第二个变量的正确语法吗?我知道关于Racket文档,但我仍然无法解决我的问题.
我尝试更换cond的if句子.
我也尝试了一些"and"部分的变体,与此类似,但无法正确使用语法:
(define (time-calendar cal from-time to-time)
(map (lambda (app)(if (and((> from-time (send 'getstart app))) (< to-time (send 'getend app))) #t #f))
(send 'getappointments cal)))
Run Code Online (Sandbox Code Playgroud)