小编Tro*_*ord的帖子

C#与LISP中的函数式编程

LISP和C#在函数式编程方面有哪些主要区别?具体而言,如果LISP程序员转而使用C#,他们最有可能错过的功能是什么?

c# lisp programming-languages functional-programming

31
推荐指数
7
解决办法
5708
查看次数

PostgreSQL中的行编号

当某些列按结果排序时,如何在PostgreSQL中获取行号?

例如

SELECT 30+row_number() AS position, * 
FROM users 
ORDER BY salary DESC 
LIMIT 30 
OFFSET 30
Run Code Online (Sandbox Code Playgroud)

我认为查询将返回如下列表:

position | name | salary
31       | Joy  | 4500
32       | Katie| 4000
33       | Frank| 3500
Run Code Online (Sandbox Code Playgroud)

实际上我必须将该ORDER子句复制到查询中才能使其正常运行:

SELECT 30+row_number(ORDER BY salary DESC) AS position, * 
FROM users 
ORDER BY salary DESC 
LIMIT 30 
OFFSET 30
Run Code Online (Sandbox Code Playgroud)

有没有其他方法如何返回有序和编号的结果,而无需复制代码?

我知道这可以通过在应用程序本身中增加一些变量来解决,但我想在数据库层执行此操作并返回已编号的应用程序结果...

postgresql row-number

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

在对数据集或对象列表进行数据绑定时对网格视图进行排序

我通过以下方式设置了GridView:

  • 绑定到List<T>代码隐藏(我使用自己的自定义BOL)
  • HTML页面上没有DataSource对象
  • 我选择的每一列都可以排序(SortExpressions都设置正确)

但是,我收到以下错误消息:

GridView的'myGridView'触发了事件排序,但没有处理.

让我List<T>允许排序的最佳方法是什么?

我怀疑它将与为OnSorting属性指定一个函数有关,即:

OnSorting = "MySortingMethod"
Run Code Online (Sandbox Code Playgroud)

asp.net sorting data-binding gridview webforms

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

在Java中从XML中删除空格和换行符

使用Java,我想采用以下格式的文档:

<tag1>
 <tag2>
    <![CDATA[  Some data ]]>
 </tag2>
</tag1>
Run Code Online (Sandbox Code Playgroud)

并将其转换为:

<tag1><tag2><![CDATA[  Some data ]]></tag2></tag1>
Run Code Online (Sandbox Code Playgroud)

我试过以下内容,但它并没有给我我期待的结果:

DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance();
dbfac.setIgnoringElementContentWhitespace(true);
DocumentBuilder docBuilder = dbfac.newDocumentBuilder();
Document doc = docBuilder.parse(new FileInputStream("/tmp/test.xml"));

Writer out = new StringWriter();
Transformer tf = TransformerFactory.newInstance().newTransformer();
tf.setOutputProperty(OutputKeys.INDENT, "no");
tf.transform(new DOMSource(doc), new StreamResult(out));
System.out.println(out.toString());
Run Code Online (Sandbox Code Playgroud)

java xml newline strip cdata

13
推荐指数
3
解决办法
4万
查看次数

如何检查var的null值?

我正在使用PetaPoco Micro-ORM和C#4.0.

下面的代码从数据库中检索一行:

var result = db.SingleOrDefault<TdUsers>(getUserQuery);
Run Code Online (Sandbox Code Playgroud)

我想检查结果是否包含任何行,以及是否为null.做这个的最好方式是什么?

.net c# .net-4.0 c#-4.0 petapoco

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

如何将F#SqlDataConnection TypeProvider与App.Config文件一起使用?

我正在使用类型表达式:

type dbSchema = SqlDataConnection<ConnectionStringName="X1", ConfigFile="App.config">
Run Code Online (Sandbox Code Playgroud)

这在编译时非常有效(我可以完全访问所有数据库类型),但它在运行时失败.我认为这是因为在控制台应用程序的bin目录中生成的配置文件被命名为其他内容,例如MyAppName.exe.config,因此App.config找不到该文件.

当然,对于使用的ASP.NET MVC类型的应用程序,web.config没有问题,因为编译和运行时配置文件名是相同的.

幸运的是,App.configbin目录中放置副本确实可以解决问题,但这是我们应该做的吗?有什么想法吗?

f# app-config

12
推荐指数
1
解决办法
749
查看次数

EF:寻找模块化应用程序的DatabaseFirst DbContext的设计策略

我正在寻找有关如何在模块化非单片应用程序设计中使用ORM(在本例中为EF5)的建议,其中包含Core部分和第三方模块,其中Core没有直接引用第三方模块和模块仅引用Core/Common表和类.

为了论证,一个足够接近的类比将是DNN.

CodeFirst:

使用CodeFirst,我使用的方法是通过反射构建Db的模型:在Core的DbContext的DbInitialation阶段,我使用Reflection来查找任何用IDbInitializer(自定义)修饰的dll(例如Core或各种模块)中的任何类包含Execute()方法的契约,只定义dll的结构.每个dll都向DbModel添加了它自己知道的内容.任何后续的Seeding也在同一个wa中处理(搜索特定的IDbSeeder合同并执行它).

亲:*这种方法现在有效.*可以在所有存储库中使用相同的核心DbContext,只要每个存储库使用dbContext.GetSet(),而不是期望它是dbContext的属性.没什么大不了的.缺点:*它仅在启动时有效(即添加新模块需要AppPool刷新).*CodeFirst非常适合POC.但在EF5,它不够成熟的企业工作(我不能等待EF6的StoredProcs和其他功能添加).*我的DBA讨厌CodeFirst,至少对于Core来说,希望尽可能多地使用Stored Procs来优化那个部分......我们是一个团队,所以我必须设法找到一种方法来取悦他,如果我能想办法...

数据库一:

DbModel阶段似乎发生在DbContext的构造函数之前(从嵌入的*.edmx资源文件中读取).永远不会调用DbInitialization(因为模型被认为是完整的),所以我不能添加比Core知道更多的表.

如果我不能动态地向模型添加元素,就像使用CodeFirst一样,这意味着*Core DbContext的模型必须知道Db - Core和每个第三方模块中的每个表.使应用程序单片和高度耦合,击败我想要实现的东西.*或者每个第三方必须创建自己的DbContext,导入Core表,导致*版本问题(模块在更新Core的*.edmx时不更新其*.edmx等等)*复制无处不在,在不同的内存环境中=难跟踪并发问题.

在这一点上,在我看来,CodeFirst方法是使用EF实现Modular软件的唯一方法.但希望其他人知道如何使DatabaseFirst大放异彩 - 有没有办法将DbSet'附加'到嵌入式*.edmx文件创建的模型中?

还是其他任何想法?

generics entity-framework

11
推荐指数
1
解决办法
482
查看次数

为什么不总是使用泛型?

我正在阅读有关仿制药的现有帖子.如果Generics有很多优点,如Type安全,没有装箱/拆箱的开销,而且速度很快,为什么不总是使用呢?为什么要使用非通用对象呢?

编辑(问题进一步扩展如下)

我有点困惑.几个月前我读到Generics的最后一次,我读到如果参数中的Type是可变的,那么应该使用Generic来防止错误.但我现在正在阅读的内容是,泛型将实现限制为固定类型,而非泛型对象允许您在运行时定义参数类型.

请帮我看看我错过了什么?

其次,在团队中工作并且代码可共享时,在适当的OOP设计(泛型等)中使用这些类型的构造会很有帮助.对于一个规模较小的独立程序员,谁知道Type必须参与哪个类型,似乎没有必要担心,使用Generic或Non-Generic类型之间差别不大.这准确吗?

.net generics

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

如何使用php在同一主机上管理两个不同网站的单独会话状态

我目前正在开发两个网站,并通过连接调试它们localhost.

引用第一个站点,引用http://localhost/web1第二个 站点http://localhost/web2.

我为每个创建了一个登录脚本,其中设置了三个特定于域的会话变量,例如:

  1. $_SESSION['web1_user']
  2. $_SESSION['web1_login']
  3. $_SESSION['web1_sessionID']

但是,当我在同一浏览器上登录这两个站点时,然后注销一个站点(触发,我也会自动从第二个站点注销).session_destroy()

关于如何解决这个问题的任何想法都将非常感激.:(

php session-variables session-state session-cookies

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

Ajax聊天 - 只有在有变化时才更新

我目前有一个基于Ajax的聊天,我试图通过仅在更新发生时加载聊天脚本来简化.因此,如果数据库中没有任何变化,则无需继续加载.

我现在的逻辑说:

  • JavaScript函数每1/2秒触发一次以获取聊天记录(setInterval())

但是,如果没有任何改变,那么继续调用它似乎相当低效.相反,我想做的是:

  1. JavaScript函数检查数据库中是否有日志
  2. 如果是 - 加载新日志,如果否 - 单独保留当前显示的日志.

但是我怎么会这样呢?我目前使用的功能是:

function updateShouts() {
    $('#chatArea').load('chat.php'); // load chat logs
}
setInterval("updateShouts()", 500);  // call function every half a second
Run Code Online (Sandbox Code Playgroud)

javascript php ajax chat

8
推荐指数
2
解决办法
4189
查看次数