小编gre*_*man的帖子

如何强制sqlmetal保持字段名称大小写?

当Visual Studio自动生成dbml文件时,我会得到表中出现的确切字段名称.

但是,由于VS不为dbml提供刷新功能,因此我手动运行sqlmetal以重新创建dbml文件.它有一个例外 - sqlmetal"纠正"名称

ses_Id -> Ses_Id
aga_Id -> Aga_Id
Run Code Online (Sandbox Code Playgroud)

等等 - 它可能会将camelCase更改为CamelCase.

Sqlmetal帮助没有列出任何开关来保持字段名称按原样(只有复数开关).那么,有没有人知道隐藏的开关保持字段名称的情况?

先感谢您.

解决了

没有这样的开关,并且MS被通知了这个问题 - 添加这样的功能的愿望报告(因为它有更新项目的问题)被关闭为wontfix :-(

linq sqlmetal linq-to-sql visual-studio

6
推荐指数
1
解决办法
466
查看次数

为什么C#不提供内部帮助器来传递属性作为参考?

这是关于LANGUAGE DESIGN的问题.

在你阅读完整篇文章之前请不要回答这个问题!谢谢.

由于所有助手都存在于C#中(如lambda或自动属性),因此我无法通过引用传递属性.让我们说我想这样做:

foo(ref my_class.prop);
Run Code Online (Sandbox Code Playgroud)

我收到错误所以我写了:

{
   var tmp = my_class.prop;
   foo(tmp);
   my_class.prop = tmp;
}
Run Code Online (Sandbox Code Playgroud)

现在它有效.但请注意两件事:

  1. 它是通用模板,我没有放任何类型,只有"var",所以它适用于我必须通过的所有类型和数量的属性

  2. 我必须一遍又一遍地做,没有任何好处 - 这是机械工作

现有的问题实际上杀死了Swap等有用的功能.交换通常为3行,但由于它需要2个引用,因此调用它需要5行.当然这是无稽之谈,每次我都想用它来手写"交换".但这表明C#阻止了可重复使用的代码,这很糟糕.

问题

那么 - 如果编译器自动创建临时变量(就像我手工做的那样)会发生什么不好,调用函数,并将值分配回属性?这有危险吗?我没有看到它,所以我很好奇你觉得为什么这个问题的设计看起来现在看起来如此.

干杯,

编辑因为280Z28提供了很好的例子来打败自动包装ref属性的想法,我仍然认为用临时变量包装属性会很有用.也许是这样的:

Swap(inout my_class.prop1,inout my_class.prop2);
Run Code Online (Sandbox Code Playgroud)

否则没有真正的交换C#:-(

c#

6
推荐指数
1
解决办法
745
查看次数

蛇形图像遍历算法的名称是什么?

算法名称是在一些数学家之后.

您可以逐行遍历图像,但您可以使用递归生成的路径遍历图像,基本块看起来像:

ü

这个是用于遍历2x2像素的图像.如果您有更大的图像,则为每个线段"乘以"此块(旋转或不旋转).结果是蛇状路径.

所以,也许你还记得这个算法的名字:-)提前谢谢你.

algorithm traversal image

6
推荐指数
1
解决办法
704
查看次数

如何将.Net3.5 dll添加到.Net2.0项目中?

我有一个基于.net 3.5的dll - 它在内部使用例如Linq,但是暴露的API很简单,没有花哨的东西.由于C#泛型在编译时被解析,我认为对于调用方而言,所有重要的是API(所有公共部分).

但是,当我尝试使用net2.0项目中的这个dll时,我得到的信息是dll无法引用,因为dll或其中一个依赖项需要更高版本的.net框架.

我可以在目标计算机上安装我想要的任何.net版本(当安装整个应用程序时),但我不能为项目本身更改.net版本.

那么:如何解决这个问题?在这个项目中添加C dll时,我没有遇到过这样的问题,C#dll是否自包含?

.net c# dll reference

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

用于从音频流中提取单词(语音)的库?

我有一个音频流,我会从中提取单词(语音).所以例如有audio.wav我会得到001.wav,002.wav,003.wav等,其中每个XXX.wav是一个单词.

我正在寻找一个库或程序来做 - 平台没关系,但我更喜欢开源解决方案.

提前感谢您的帮助.

audio extract speech

6
推荐指数
1
解决办法
3122
查看次数

如何使用SQL CE加速LINQ插入?

历史

我有一个"记录"列表(3,500),我保存到XML并在程序退出时压缩.以来:

  • 记录数量增加
  • 退出时只需要更新大约50条记录
  • 节省大约需要3秒钟

我需要另一个解决方案 - 嵌入式数据 我之所以选择SQL CE,是因为它与VS一起使用没有任何问题,许可证对我来说是好的(我把它比作Firebird,SQLite,EffiProz,db4oBerkeleyDB).

数据

记录结构:11个字段,其中2个构成主键(nvarchar + byte).其他记录是字节,数据时间,双精度和整数.

我不使用任何关系,连接,索引(主键除外),触发器,视图等.它实际上是平的字典 - 对键+值.我修改了其中一些,然后我必须在数据库中更新它们.我不时添加一些新的"记录",我需要存储(插入)它们.就这样.

LINQ方法

我有空白数据库(文件),所以我在一个循环(逐个)中进行3500插入.我甚至不检查记录是否已经存在,因为db是空白的.

执行时间处理时间?4分52秒 我昏了过去(记住你:XML + compress = 3秒).

SQL CE原始方法

我google了一下,尽管有这样的声明: LINQ to SQL(CE)速度与SqlCe 说明它是SQL CE本身的错误我试了一下.

相同的循环,但这次插入是使用SqlCeResultSet(DirectTable模式,请参阅:SQL Server CE中的批量插入)和SqlCeUpdatableRecord.

结果?你坐得舒服吗?好吧...... 0.3秒(是的,第二个的一小部分!).

问题

LINQ 非常易读,原始操作完全相反.我可以编写一个映射器,将所有列索引转换为有意义的名称,但它似乎重新发明轮子 - 毕竟它已经在... LINQ中完成了.

那么也许这是告诉LINQ加快速度的一种方式?问题 - 怎么做?

代码

LINQ

foreach (var entry in dict.Entries.Where(it => it.AlteredByLearning))
{
    PrimLibrary.Database.Progress record = null;

        record = new PrimLibrary.Database.Progress();
        record.Text …
Run Code Online (Sandbox Code Playgroud)

.net c# linq optimization sql-server-ce

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

Scala可以比较不兼容对象的原因和/或好处是什么?

这让我感到很困惑 - 我已经阅读了Scala存在的原因,并且常识引起了我的兴趣,例如选择静态类型(因为错误较少).然而,你可以比较(开箱即用,默认情况下)完全不同的,不相关的对象,它编译并运行良好.对我来说,它只是需要更多的代码错误.

有人可以解释一下这个功能的原因是什么?还是好处?

我知道Scala如何在比较中发挥作用.我问为什么它的工作原理.

我希望,如果我想这样做,我会写隐式转换或显式比较.这种方法对我来说非常有意义,当前的Scala方式 - 不,因此我的问题.

还有一件事 - 我不是在寻找如何使用Scala-way比较来获得一些奇特的效果,我正在寻找更严格的错误检查.IOW:我不想按颜色比较Orange和Apple,我想默认禁止这样的比较,除非用户明确表示可以比较这些类型.

class Test
{
  val s : String = "ala"
}

class Foo
{
  val x : Int = 5
}

object Testbed 
{
  def main(args : Array[String])
  {
    val t = new Test
    val f = new Foo
    if (t==f)
      println("match")
    else
      println("no")
  }
}
Run Code Online (Sandbox Code Playgroud)

comparison scala

6
推荐指数
1
解决办法
945
查看次数

Java中是否有标准的Option或Nullable类?

Nullable(C#)有一些不同的含义,但无论如何两者Option(Scala)Nullable都可以用来表达"有价值或无价值"的概念.

例如,如果您想在字符串中找到子字符串 - 而不是将Intscure -1作为Int,最好返回Option [Int](在Scala中它将是None无用的).

标准Java中是否有这样的类?如果是,那是什么?

请注意,我不是在问这样的课程.

更新

正如我所写,Nullable有不同的含义.考虑一下:

想象一下Map [K,V]和方法获取哪个语义是获取密钥的值,如果有这样的密钥,或者什么都没有这样的密钥.

你不能使用null有两个原因,你不能因为一个原因使用任何具体的类.选项[V]是要走的路.

java class option

6
推荐指数
3
解决办法
3193
查看次数

如何打开屏幕?

DUPLICATE警告:这个问题适用于服务和前端,有一些类似的线程,但专注于GUI方法.

问题

从任何状态开始(音乐在后台播放,屏幕打开(原文如此!),屏幕关闭,手机锁定,手机解锁等)我想改变状态中的一件事 - 打开屏幕.别的什么都不应该改变.

尝试

从某个已知状态开始,我锁定手机并关闭屏幕:

DevicePolicyManager dpm = (DevicePolicyManager)context
                .getSystemService(Context.DEVICE_POLICY_SERVICE);
dpm.lockNow();
Run Code Online (Sandbox Code Playgroud)

所以从现在开始,打开屏幕意味着实际显示键盘.我尝试这样做:

  • 强迫userActivity- 一切都没有发生
  • 唤醒锁的各种组合 - 唤醒太弱(比如PARTIAL_WAKE_LOCK- 没有任何反应)或它触发屏幕,但只要我保持锁定.一旦我释放它,屏幕就会恢复到关闭状态(尽管我已经ON_AFTER_RELEASE设置好了); 小问题是我必须稍后获得唤醒锁定,lockNow因为否则lockNow将被取消

解决方法

这几乎是由 Anton Cherkashyn 改变屏幕亮度系统设置Android的复制和粘贴

您需要添加触发屏幕的虚假活动:

public class DummyBrightnessActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);            
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);

        //this next line is very important, you need to finish your activity with slight delay
        new Handler().postDelayed(new Runnable() { 
             public void run() { 
                 DummyBrightnessActivity.this.finish();
                 } },0);
    }

} …
Run Code Online (Sandbox Code Playgroud)

android screen

6
推荐指数
1
解决办法
1550
查看次数

是否可以在Kendo Web UI中为模型指定多个ID?

我对Kendo UI完全不熟悉,所以也许我错过了一些东西,但在阅读了docs API之后:http://docs.kendoui.c​​om/api/framework/model似乎Kendo仅限于使用单一ID.

例如,假设我有一个网格,其中每一行都由一对值标识(因为基础数据具有这样的约束).那么,如果我读得正确,在剑道中没有直接表达方式吗?

我能想到的一个解决方法是创建一些ad-hoc值,它是编码的id,如"value1 | value2"(字符串),当从UI获取数据时,将它们解码回来.

还有更明确​​的方法吗?

具体的例子

专注于实质性的事情:

http://demos.kendoui.c​​om/web/grid/editing-inline.html

相关代码是(来自.cshtml文件):

.Model(model => model.Id(p => p.ProductID))

就我而言,它将是(我能想到的最简单的方式):

.Model(model => model.Id(p => p.ProductComboId1Id2))

其中ProductComboId1Id2是如上所述编码的字符串.

解决方案(有点)

请参阅页面底部,这是Kendo安装的问题.安装程序脚本没有安装一个关键的.js文件,整个框架变得奇怪.我的问题是那些不当行为之一.

model identifier kendo-ui

6
推荐指数
1
解决办法
6473
查看次数