小编Pau*_*aul的帖子

使用Linq展平C#列表

我在C#中有一个字典:

Dictionary<string, List<string>>
Run Code Online (Sandbox Code Playgroud)

如何使用Linq将其展平为List<string>包含字典中所有列表的内容?

谢谢!

c# linq

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

将属性添加到ExpandoObject,其名称与字符串相同

有没有办法将属性添加到与字符串值同名的ExpandoObject?

例如,如果我有:

string propName = "ProductNumber";
dynamic obj = new System.Dynamic.ExpandoObject();
Run Code Online (Sandbox Code Playgroud)

我可以创建属性ProductNumber,如:

obj.ProductNumber = 123;
Run Code Online (Sandbox Code Playgroud)

但是,我可以obj.ProductNumber根据字符串创建属性propName吗?所以,如果我不知道该属性的名称将是什么,我可以根据此输入创建它.如果使用ExpandoObject无法做到这一点,那么我应该研究C#的其他任何领域?

c# dynamic expandoobject

26
推荐指数
2
解决办法
1万
查看次数

在包级别注释中使用@GenericGenerator

我正在尝试在包级别创建一个@GenericGenerator注释,以便它可以被包中的所有实体使用.

1)我有一个带有注释的package-info.java类:

@org.hibernate.annotations.GenericGenerator(name="unique_id", strategy="uuid")  
package com.sample.model;
Run Code Online (Sandbox Code Playgroud)

2)在同一个包中,我有一个具有以下属性的实体:

@Id  
@GeneratedValue(generator="unique_id")  
@Column(name="userid")  
public String userID() {  
    return userID;  
}  
Run Code Online (Sandbox Code Playgroud)

这导致异常"Unknown Id.generator:unique_id".如果我在实体类中包含@GenericGenerator注释,它可以正常工作.但是,我想将其移至包级别,以便我可以在其他实体中重用它.

任何想法断开的想法?

谢谢!

java annotations hibernate

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

在探测privatePath时使用绝对路径

在C#控制台应用程序中,我试图<probing privatePath=""/>用来指向不在我的应用程序子目录中的dll.我正在使用:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <probing privatePath="D:\Library\References" />
    </assemblyBinding>
</runtime>    
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为privatePath正在我的应用程序中查找子目录.有没有办法以这种方式使用绝对路径?如果没有,指向位于我的应用程序之外的dll的最佳方法是什么?我也尝试使用<codebase>file:///道路,但仍然有System.IO.FileNotFound例外.

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity 
        name="MyLibrary" publicKeyToken="29989D7A39ACF230" />
      <codeBase
        version="2.0.0.0"
        href="http://file:///D:/Library/References/NLog.dll"/>
    </dependentAssembly>
  </assemblyBinding>
</runtime>
Run Code Online (Sandbox Code Playgroud)

但仍有System.IO.FileNotFound例外.

谢谢!

c#

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

用C#中的正则表达式替换连接字符串中的密码

我正在尝试在C#中创建一个正则表达式,它将替换连接字符串的密码,以便在我在页面上显示它时不会显示它.连接字符串密码在字符串中的某处,如PWD = password;

到目前为止,我有:

Regex.Replace(connStr, "PWD=.*;", "PWD=********");
Run Code Online (Sandbox Code Playgroud)

这样可以找到模式的开头,但问题是外卡(.*)还包括; 所以模式永远不会终止,字符串的其余部分也会被替换.我怎么能说everthing但是; 在我的RegEx?

谢谢.

c# regex

10
推荐指数
2
解决办法
6958
查看次数

在SQL中将日期字段舍入到下一个半小时

在SQL中,我有一个DATE变量,我想要舍入到下一个可用的半小时(即xx:30).请注意,这不应该是最近的半小时.

这里有些例子:

Time                   Expected outcome
2012-03-26 11:25 AM    2012-03-26 11:30 AM
2012-03-26 11:45 AM    2012-03-26 12:30 PM
Run Code Online (Sandbox Code Playgroud)

有没有办法在SQL中执行此操作?

sql oracle

7
推荐指数
2
解决办法
1万
查看次数

在ASP.NET MVC3中正确使用TempData?

我有一个ASP.NET MVC3应用程序,其中我的动作生成一个id列表,我想让后续的AJAX请求可用.这样我就可以在后台运行一个漫长的过程并对其进行轮询.id列表是这个长时间运行过程的必要输入.我不想在URL中将它们作为参数传递,因为列表可能会很长并且会导致IE出现问题.

我的控制器

public ActionResult Run()
{
    List<MyObjs> objs = _db.MyObjs.ToList<MyObjs>();

    string uniqueId = Guid.NewGuid().ToString();
    ViewData["UniqueID"] = uniqueId;
    TempData["ObjIdList" + uniqueId] = String.Join(",", objs .Select(o => o.ObjID).ToArray<int>());

    return View(objs);
}            

public void StartProcess(string uid)
{
    string ids = TempData["ObjIdList" + id].ToString().Split(',');
    ...        
}
Run Code Online (Sandbox Code Playgroud)

我的看法

var uniqueId = '@ViewData["UniqueID"]';

$(document).ready(function (event) {
    $('#startProcess').click(function () {
        $.post("/Scheduler/StartProcess", { uid: uniqueId }, function () {
            getStatus();
        });
        event.preventDefault;
    });
});

function getStatus() {
    var r = new Date().getTime(); // cache killer for IE …
Run Code Online (Sandbox Code Playgroud)

c# jquery asp.net-mvc-3

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

使用gv $ session来判断查询是否挂起

我有一个在Oracle中运行的查询,可能会也可能不会挂起.它已经运行了大约10个小时,但根据我加载的数据量可能并非不合理.

我在gv $ session中查看会话,并想知道是否有一种方法可以转换该信息,看看是否有任何活动正在进行,或者查询是否等待锁定或其他方式挂起.

我已经在这里阅读了这个视图的文档.我主要是寻找那些在Oracle中调试这些类型问题的人的技巧.

谢谢!

oracle oracle10g

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

查询以确定列是否组合以创建唯一键

我正在尝试确定Oracle中表上的一组三列是否构成唯一键,并且可以以1:1的关系使用.

如果我运行此查询,并且键是唯一的组合,我不应该看到count> 1,对吗?

select count(*) from my_table t    
group by t.a, t.b, t.c
Run Code Online (Sandbox Code Playgroud)

是否有更好/替代的方法来做出这个决定?

sql oracle

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

反序列化 KeyValuePairs 列表

我有以下格式的一些 XML:

<ObjectData>
  <ModelName>MODEL_123</ModelName>
  <ObjectName>OBJECT_A</ObjectName>
  <Values>
    <KeyValuePair>
      <Key>NAME</Key>
      <Value>PAUL</Value>
    </KeyValuePair>
    ...
  </Values>
</ObjectData>
...
Run Code Online (Sandbox Code Playgroud)

我想将其反序列化为以下类:

[XmlRoot(Namespace = "")]
public class ObjectData
{
    [XmlElement(Namespace = "")]
    public string ModelName { get; set; }
    [XmlElement(Namespace = "")]
    public string ObjectName { get; set; }
    [XmlArray]
    public List<KeyValuePair<string, string>> Values { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

当我使用此代码时,KeyValuePairs 未反序列化并且 Values 属性为空。

List<ObjectData> data = new List<ObjectData>();
XmlSerializer serializer = new XmlSerializer(typeof(ObjectData));

using (XmlReader reader = XmlReader.Create(new StringReader(inputXML)))
{             
    reader.MoveToContent();
    ObjectData temp = (ObjectData)serializer.Deserialize(reader); …
Run Code Online (Sandbox Code Playgroud)

c# xml-serialization

5
推荐指数
1
解决办法
5524
查看次数