小编Ehs*_*san的帖子

将int(number)转换为带前导零的字符串?(4位数)

可能重复:
数字格式:如何将1转换为"01",2转换为"02"等?

如何转换intstring使用以下方案?

  • 1 转换为 0001
  • 123 转换为 0123

当然,字符串的长度是动态的.对于此示例,它是:

int length = 4;
Run Code Online (Sandbox Code Playgroud)

我该如何转换呢?

c# c#-4.0

70
推荐指数
4
解决办法
10万
查看次数

通过DotNetZip库以编程方式提取ZIP文件?

我有一个函数获取ZIP文件并将其解压缩到一个目录(我使用DotNetZip库.)

public void ExtractFileToDirectory(string zipFileName, string outputDirectory)
{
     ZipFile zip = ZipFile.Read(zipFileName);
     Directory.CreateDirectory(outputDirectory);
     zip.ExtractAll(outputDirectory,ExtractExistingFileAction.OverwriteSilently);
}
Run Code Online (Sandbox Code Playgroud)

我的ZIP文件包含多个文件和目录.但我想只提取其中一些文件,而不是全部.

我怎样才能做到这一点?

c# zip extract dotnetzip

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

如何在linq-to-Nhibernate中使用多个条件的连接

我有两个类(Request&RequestDetail).我需要Linq To NHibernate通过join在两个类之间进行查询.

var q = SessionInstance.Query<Request>()
       .Where(x => x.State == "Init");

var q2 = SessionInstance.Query<RequestDetail>();
q2 = q2.Where(xx => xx.Purpose.Contains("Purpose Sample")); // This line has a error When execution ??`q.ToList()?`

q = q.Join(q2, request => request.Id, detail => detail.Id, (request, detail) => request);

return q.ToList();
Run Code Online (Sandbox Code Playgroud)

当我添加Where条件时q2,Result有一个运行时错误.异常消息是:Specified method is not supported.

堆栈跟踪 :

   at NHibernate.Hql.Ast.ANTLR.PolymorphicQuerySourceDetector.GetClassName(IASTNode querySource)
   at NHibernate.Hql.Ast.ANTLR.PolymorphicQuerySourceDetector.Process(IASTNode tree)
   at NHibernate.Hql.Ast.ANTLR.AstPolymorphicProcessor.Process()
   at NHibernate.Hql.Ast.ANTLR.ASTQueryTranslatorFactory.CreateQueryTranslators(IASTNode ast, String queryIdentifier, String collectionRole, Boolean shallow, IDictionary`2 filters, ISessionFactoryImplementor …
Run Code Online (Sandbox Code Playgroud)

c# linq nhibernate join linq-to-nhibernate

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

简单的QueryOver:无法识别的方法调用

我有一个简单的QueryOver

var q = SessionInstance.QueryOver<Person>().Where(p => p.Number.Equals(number));
Run Code Online (Sandbox Code Playgroud)

数字字段类型为int.此消息的此查询有运行时错误:

无法识别的方法调用:System.Int32:Boolean Equals(Int32)

c# nhibernate queryover

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

级联错误:已删除的对象将通过级联重新保存

我有一个NHibernate实现的项目并使用Lazy Loading.我在这个项目中有两个班:人和家庭.这两者之间的关系是聚合,是指Person有一个Person列表.映射是:

  <class name="Person" table="Person_Person" >

    <id name="Id" type="Int64" unsaved-value="0">
      <generator class="native" />
    </id>

    <bag name="Families" inverse="true" table="Person_Family" cascade="all-delete-orphan" >
      <key column="Person_id_fk"/>
      <one-to-many class="Domain.Entities.Family,Domain.Entities"/>
    </bag>

  </class>
Run Code Online (Sandbox Code Playgroud)

在这个项目中,我通过ID获取一个人然后删除一个家庭的人.

Person person = SessionInstance.Get<Person>(id);
foreach (Family fam in person.Families)
    if (fam.Name == "Jaun")
        SessionInstance.Delete(fam);
Run Code Online (Sandbox Code Playgroud)

系列未删除,因为通过此消息抛出异常: deleted object would be re-saved by cascade (remove deleted object from associations)[Domain.Entities.Family#167]

我怎样才能删除一个人的家庭?

c# nhibernate cascade nhibernate-mapping nhibernate-cascade

9
推荐指数
1
解决办法
5753
查看次数

linq到NHibernate中的Max为数据库中不存在的数据

我有一个linq对NHibernate的查询.

var q = SessionInstance.Query<Request>().Max(e => e.Code);
Run Code Online (Sandbox Code Playgroud)

如果Request表没有行,则执行此查询会引发GenericADOException并显示以下消息:

{"Could not execute query[SQL: SQL not available]"}

{"Value cannot be null.\r\nParameter name: item"}

我该怎么办?

c# linq nhibernate max linq-to-nhibernate

9
推荐指数
1
解决办法
2778
查看次数

NHibernate Profiler的初始启动方式

我有一个使用Nhibernate的Wpf应用程序.我想通过NHibernate Profiler查看发送到数据库的查询的详细信息.初次启动时,我该怎么办?

nhibernate profiler sql-server-profiler

8
推荐指数
1
解决办法
7466
查看次数

如何比较两个对象之间的属性

我有两个相似的类:Person,PersonDto

public class Person 
{
    public string Name { get; set; }
    public long Serial { get; set; }
    public DateTime Date1 { get; set; }
    public DateTime? Date2 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

&

public class PersonDto
{
    public string Name { get; set; }
    public long Serial { get; set; }
    public DateTime Date1 { get; set; }
    public DateTime? Date2 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我有两个由两个值相等的对象.

    var person = new Person { Name = …
Run Code Online (Sandbox Code Playgroud)

c# reflection

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

EnterpriseLibrary.Logging的"loggingConfiguration"出错

我有一个使用Enterprise Library.Logging 5,.NET Framework 4.0 Client Profile的WPF应用程序

我使用数据库逻辑记录.还要添加对3个dll的引用以进行投影.

Microsoft.Practices.EnterpriseLibrary.Logging.dll
Microsoft.Practices.EnterpriseLibrary.Logging.Database.dll
Microsoft.Practices.EnterpriseLibrary.Data.dll
Run Code Online (Sandbox Code Playgroud)

logEntry.Write(log)通过此消息我有1个运行时错误:

Invalid TraceListenerData type in configuration 'listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Database.Configuration.FormattedDatabaseTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging.Database, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"'
Run Code Online (Sandbox Code Playgroud)

我的app.config是:

<loggingConfiguration name="" tracingEnabled="true" defaultCategory="General" logWarningsWhenNoCategoriesMatch="false">
  <listeners>
    <add name="Event Log Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FormattedEventLogTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
      listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FormattedEventLogTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
      source="Enterprise Library Logging" formatter="Text Formatter"
      log="" machineName="." traceOutputOptions="None" />
    <add name="Database Trace Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.Database.FormattedDatabaseTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging.Database, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
      listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Database.Configuration.FormattedDatabaseTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging.Database, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
      databaseInstanceName="Logging" writeLogStoredProcName="WriteLog"
      addCategoryStoredProcName="AddCategory" formatter="Text Formatter"
      traceOutputOptions="LogicalOperationStack, DateTime, Timestamp" />
  </listeners>
  <formatters>
    <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, …
Run Code Online (Sandbox Code Playgroud)

.net configuration logging enterprise-library enterprise-library-5

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

如何获取没有自定义类类型的一个类的属性

我有一个Person类:

public class Person 
{
    virtual public long Code { get; set; }
    virtual public string Title { get; set; }       
    virtual public Employee Employee { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我需要一个通用的解决方案来获取Person类的所有属性,而不是自定义类类型的属性.意味着选择Code,Title属性.

typeof(Person).GetProperties();           //Title , Code , Employee
typeof(Person).GetProperties().Where(x => !x.PropertyType.IsClass); // Code
Run Code Online (Sandbox Code Playgroud)

如何在没有自定义类类型的情况下选择所有属性?(Code,Title)

c# reflection properties getproperties c#-4.0

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