小编Ana*_*uza的帖子

在标题上保留UITableView填充但在IOS7上的分隔符中没有

在iOS7上进行转换时,分隔符左侧有15px填充.我知道我可以在xib文件中的UITableView设置中使用分隔符插入功能删除此填充,但我需要使用填充保持标题文本.怎么做?

默认:

在此输入图像描述

使用自定义分隔符插入0:

在此输入图像描述

我需要像图2那样保留分隔符,但标题为"2013"​​,如图1所示.

iphone uitableview separator ios ios7

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

EF.字符串字段的必需验证错误在没有[Required]属性的情况下引发

问题:

在EntityCollectionView中添加新项目时,会为字符串字段引发所需的验证,但出于我的目的,我们应该在服务器端验证后显示它.

实际行为:

这是来自元数据文件的代码:

[MetadataTypeAttribute(typeof(SomeEntityMetadata))]
public partial class SomeEntity
{
    [EntityName]
    internal sealed class SomeEntityMetadata
    {
        private SomeEntityMetadata()
        {
        }

        public long Id { get; set; }

        [EntityName(Name = "Name", OrderIndex = 2)]
        public string Name { get; set; }

        [EntityName(Name = "Data Type", OrderIndex = 1)]
        public string Type { get; set; }

    }
}
Run Code Online (Sandbox Code Playgroud)

这个项目的集合绑定到DataGridxaml:

<navigation:DataGridTemplateColumn CanUserReorder="True"
                                   CanUserSort="True"
                                   Header="Name"
                                   SortMemberPath="Name">
    <navigation:DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <TextBlock VerticalAlignment="Center" Text="{Binding Name}"/>
        </DataTemplate>
    </navigation:DataGridTemplateColumn.CellTemplate>
    <navigation:DataGridTemplateColumn.CellEditingTemplate>
        <DataTemplate>
            <TextBox Text="{Binding Name, Mode=TwoWay}" Height="Auto"/>
        </DataTemplate> …
Run Code Online (Sandbox Code Playgroud)

c# validation silverlight entity-framework mvvm

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

了解引擎盖下的EF.包括vs加入

我正在使用实体框架一段时间,但仍然有一些"黑洞",它是如何在幕后工作.即使在阅读了几篇文章后,我也不确定我的理解是否正确.


让我们从问题开始:

  • EF Include如何在引擎盖下工作?
  • Join和Include之间有什么区别?
  • Include的性能问题(延迟加载与急切加载,生成的SQL查询等)?
  • 当我应该使用Join而不是Include,反之亦然?

c# performance entity-framework

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

存储过程ENCRYPTION选项取决于构建模式

我正在从事企业项目中的存储过程加密.我们有一堆SP应该在生产时受到保护.在每个SP中
设置WITH ENCRYPTION参数没有问题sqlproj.但我想让这个指令可选:如果我在调试模式下构建项目 - 不要应用此过程选项,否则 - 使用它.实际上,这里的主要目标是为没有加密的开发人员提供数据库,但是在生产 - 加密的SP上. 在构建任务中
使用PowerShell脚本我可以修改生成的sql文件,结果得到带有加密参数的脚本,但我想知道它是如何工作的dacpac.
有什么建议?

更新:

花了一些时间玩msbuild.我决定PowerShellSqlCore目标之后停止(至少现在)使用脚本任务的解决方案:

<Import Project="$(ExtensionTasksPath)MSBuild.ExtensionPack.tasks" Condition="Exists('$(ExtensionTasksPath)MSBuild.ExtensionPack.dll')" />
  <UsingTask TaskFactory="PowershellTaskFactory" TaskName="CreateDecryptedScript" AssemblyFile="$(PowerShellTaskAssembly)" Condition="Exists('$(PowerShellTaskAssembly)')">
    <ParameterGroup>
      <File Required="true" ParameterType="System.String" />
      <ResultFile Required="true" ParameterType="System.String" />
    </ParameterGroup>
    <Task>
      <![CDATA[      
      (Get-Content $file) | Foreach-Object {$_ -replace 'WITH ENCRYPTION', '--WITH ENCRYPTION'} | Set-Content $resultfile    
    ]]>
    </Task>
  </UsingTask>
<Target Name="CreateDecryptedScript" AfterTargets="SqlCore">
    <CreateDecryptedScript File="$(OutputPath)$(CreateScriptFileName)" ResultFile="$(OutputPath)$(DecryptedScriptName)" Condition="Exists('$(PowerShellTaskAssembly)')" />
</Target>
Run Code Online (Sandbox Code Playgroud)

因此,在重建项目之后,我们有了无需加密即可创建数据库的脚本.

但是publish从项目中调用的不会强制发生这种情况,我们将使用加密来改变所有SP.

sql-server encryption msbuild visual-studio sql-server-data-tools

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

ClosedXML.将DataTable添加到现有Excel工作表

如何以最快的方式使用ClosedXML库(从性能的角度来看)将值添加DataTable到现有的Excel工作表中?

注意:有方法可以使用DataTable参数创建新工作表,但主要问题是向现有工作表添加值.

c# excel openxml

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

SL4.ElementName绑定在DataTemplate中不起作用

DataTemplate还有另一个令人头痛的问题.


描述: 使用Silverlight 4,Mvvm等(用于Silverlight LOB应用程序的标准开发工具集).

实体列表成功绑定到DataGrid.一个属性(可空的bool BoolValue)负责实体行为,并在datagrid中显示图片,点击这将导致更改LayoutRoot元素中某些控件的可见性.

问题: 问题在于,不幸或幸运的是,ElementName绑定内部DataTemplate没有看到除此之外的其他元素,这些元素放在此模板中.

代码示例:

<navigation:DataGridTemplateColumn Width="40"
                              CanUserReorder="True"
                              CanUserSort="False">
     <navigation:DataGridTemplateColumn.CellTemplate>
          <DataTemplate>
             <Border Background="GhostWhite">
             <Grid>
              <Image x:Name="ImageWithTrigger"
                     Grid.Column="1"
                     Margin="10,4,0,0"
                     HorizontalAlignment="Left"
                     VerticalAlignment="Center"
                     Cursor="Hand"
                     Source="images/someImage.png"
                     Stretch="None"
                     Visibility={Binding BoolValue, Converter={StaticResource boolToVisibilityConverter} }>
               <i.Interaction.Triggers>
                 <i:EventTrigger EventName="MouseLeftButtonDown">
                     <AttachedBehaviors:TrickyBehavior FrameworkElementToHide="{Binding ElementName=FirstControlOutside}" 
                                                       FrameworkElementToShow="{Binding ElementName=SecoundControlOutside}"/>
                 </i:EventTrigger>
              </i:Interaction.Triggers>
            </Grid>
            </Border>
          </DataTemplate>
     </navigation:DataGridTemplateColumn.CellTemplate>
</navigation:DataGridTemplateColumn>
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,FrameworkElementToHide和FrameworkElementToShow始终为null.

互联网上有很多非常类似的问题和解决方案,但我没有找到解决这个问题的任何简单而优雅的方法.

silverlight xaml binding datagrid datatemplate

4
推荐指数
1
解决办法
3226
查看次数

正确处理DomainOperationException

在我的Silverlight应用程序中,我想正确处理不同的服务器错误.我创建了处理程序,DomainOperationException但在那里我想获得有关问题根本原因的更具体信息,并为用户提供更清晰的消息.


可能的方法:

  • OperationStatus给了我一些优势,但仍然主要是连接到服务器的所有错误都有OperationStatus.ServerErrorDB或IIS问题;
  • 异常也有ErrorCode属性,但我不知道从哪里获得适合RIA的可能错误代码列表;

注意:即使没有ErrorCode自己设置,当服务器端出现数据库连接问题时,它的值为500.这就是为什么我希望RIA正在做所有肮脏的工作,我将避免做这种多余的努力.


问题:

  1. 正确处理的最佳方法是什么 DomainOperationException
  2. 哪里可以得到错误代码?

c# silverlight exception-handling wcf-ria-services

4
推荐指数
1
解决办法
1233
查看次数

流复制时缓冲区大小的差异

我看到了很多CopyStream实现的例子,但是当我们复制流时,我对缓冲区大小有疑问.
CopyStreams实现之一的示例:

private void ReadWriteStream(Stream readStream, Stream writeStream)
{
    int Length = 256;
    Byte[] buffer = new Byte[Length];
    int bytesRead = readStream.Read(buffer, 0, Length);
    // write the required bytes
    while (bytesRead > 0)
    {
        writeStream.Write(buffer, 0, bytesRead);
        bytesRead = readStream.Read(buffer, 0, Length);
    }
    readStream.Close();
    writeStream.Close();
}
Run Code Online (Sandbox Code Playgroud)

问题是:

  • 什么缓冲区长度应该是(我见过256,8*1024,32768)?
  • 缓冲区大小如何影响性能,内存使用等?

相关问题:
带有Streams的文件IO - 最佳内存缓冲区大小 - 很好的文件IO答案.但是在内存复制方面呢?


我的情况:
MemotyStream,我创建使用ClosedXML workbook.SaveAs(memoryStream);和它分配在托管堆中的内存量巨大.我查看了源代码,发现有一个使用8*1024缓冲区大小的CopyStream方法.可以改变这个大小以某种方式减少内存使用?
注意: Stream占用大约1Gb的内存.

c# optimization buffer stream

0
推荐指数
1
解决办法
2804
查看次数