小编LCJ*_*LCJ的帖子

如何更改现有git-svn repo上的ignore-paths?

我有一个已经存在的git-svn repo,在我的.config文件中有一个忽略路径,如下所示:

ignore-paths = ^(?!(Path1/Proj1|Path1/Proj2|Path2/Proj3))
Run Code Online (Sandbox Code Playgroud)

这很好用.

有人在我的git repo中添加了一个svn中的新项目.

如果我将ignore-paths更改为下面的内容并发出fetch或rebase,我永远不会看到Path2/Proj4

 ignore-paths = ^(?!(Path1/Proj1|Path1/Proj2|Path2/Proj3|Path2/Proj4))
Run Code Online (Sandbox Code Playgroud)

在过去,我总是放弃并抨击我的git repo并重新创建它.有没有更好的办法?

git-svn

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

查找具有执行权限的存储过程

我正在使用SQL Server 2008 R2.我需要列出数据库用户(MYUSER)具有执行权限的所有存储过程.

另外,我需要列出哪些是用户没有EXECUTE权限的存储过程 - 但是可以读取存储过程的脚本

是否有任何SQL语句或帮助函数用于这些目的?

参考:

  1. 授予某个数据库中所有存储过程的执行权限

sql-server stored-procedures sql-server-2008-r2

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

在WSDL文件中包含Schema Type

我手动创建了一个WSDL,它只有一个没有输入参数且没有输出参数的操作.

当我尝试从此WSDL创建客户端时,我收到以下错误:

无法导入wsdl:portType详细信息:运行WSDL导入扩展时抛出异常:System.ServiceModel.Description.DataContractSerializerMessageContractImporter错误:具有目标命名空间的架构" http://www.xmlns.mycompany.com/GAME/service/Associate/ 1.1 / '无法找到.XPath到错误源:// wsdl:definitions [@ targetNamespace =' http://www.xmlns.mycompany.com/GAME/service/Associate/1.1/']/wsdl:portType [@ name ='GAMEAssociateIntf'] C :\工具箱\ BlueTest\BloodRedTest\BloodRedTest \服务

types (在客户机中使用)需要从本WSDL中的XML生成.我认为,在添加服务引用时,由于XML中的一些错误,该工具无法创建它.该XSD似乎是问题.

需要在WSDL中进行哪些更改才能创建代理?

注意:我试图包含WSDL本身定义的xml类型.[我不需要单独的文件进行架构保护]

WSDL

<?xml version="1.0" encoding="UTF-8"?>
<definitions name="GAMEAssociate" 
         targetNamespace="http://www.xmlns.mycompany.com/GAME/service/Associate/1.1/"
         xmlns:tns="http://www.xmlns.mycompany.com/GAME/service/Associate/1.1/"
         xmlns="http://schemas.xmlsoap.org/wsdl/" 
         xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
         xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" 
         xmlns:xsd="http://www.w3.org/2001/XMLSchema"
         xmlns:wsp="http://www.w3.org/ns/ws-policy"
         >

<types>
<xsd:schema>
</xsd:schema>

<xsd:element name="myData">
  <xsd:complexType />
</xsd:element>

<xsd:element name="myDataResponse">
  <xsd:complexType />
</xsd:element>

</types>

<message name="getAllVicePresidentsRequest">
<part element="tns:myData" name="getAllVicePresidentsRequest"/>
</message>

<message name="getAllVicePresidentsResponse">
<part element="tns:myDataResponse" name="getAllVicePresidentsResponse"/>
</message>

<portType name="GAMEAssociateIntf">
<operation name="getAllVicePresidents">
  <input message="tns:getAllVicePresidentsRequest"/>
  <output message="tns:getAllVicePresidentsResponse"/>
</operation>
</portType>

<binding name="GAMEAssociateIntfBinding" type="tns:GAMEAssociateIntf"> …
Run Code Online (Sandbox Code Playgroud)

wcf xsd wsdl web-services contract-first

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

重构代码以避免类型转换

我在.Net 4.0中有以下C#代码.它需要对IRetailBusiness进行IBusiness类型转换.

//Type checking
if (bus is IRetailBusiness)
{
       //Type casting
       investmentReturns.Add(new RetailInvestmentReturn((IRetailBusiness)bus));
}

if (bus is IIntellectualRights)
{
       investmentReturns.Add(new IntellectualRightsInvestmentReturn((IIntellectualRights)bus));
}
Run Code Online (Sandbox Code Playgroud)

业务场景:

我正在为投资控股公司设计软件系统.该公司拥有零售业务和IntellectualRights业务.BookShop和AudioCDShop是零售业务的例子.EngineDesignPatent和BenzolMedicinePatent是IntellectualRights业务的例子.这两种业务类型完全不相关.

投资公司有一个概念叫InvestmentReturn (但每个企业对这个概念完全无知).InvestmentReturn是从每个业务获得的利润,并使用它进行计算ProfitElement.对于每种"业务类型"(Retail,IntellectualRights),使用的ProfitElement是不同的.

如何重构这个一流的设计,以避免这种情况type castingtype checking

摘要投资

public abstract class InvestmentReturn
{
    public double ProfitElement { get; set; }
    public IBusiness Business{ get;  set; }

    public abstract double GetInvestmentProfit();

    public double CalculateBaseProfit()
    {
       double profit = 0;

       if (ProfitElement < 5)
       {
           profit = ProfitElement * 5 / 100; …
Run Code Online (Sandbox Code Playgroud)

c# generics design-patterns domain-driven-design visitor

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

在Android Studio 2.3.3中启动AVD Manager而无需创建Android项目

Android Studio 2.3.3,我知道如何从Android Studio中的Android项目启动AVD Manager.我可以用Tools --> Android --> AVD Manager.

在此输入图像描述

但如果我没有Android项目,我该如何打开AVD Manager?在登陆屏幕配置中,未列出AVD Manager.有没有办法在不创建Android项目的情况下启动AVD Manager?

在此输入图像描述

android-virtual-device android-studio

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

了解WCF Windows身份验证

我有一个Windows身份验证服务.使用以下代码,我可以获得(通过使用客户端)消费该服务的用户的Windows标识.

String currentUser = OperationContext.Current.ServiceSecurityContext.WindowsIdentity.Name;
Run Code Online (Sandbox Code Playgroud)

服务器中的配置是:

<binding name="messageSecurity">
<security mode="Message">
<message clientCredentialType="Windows"/>
</security>
</binding>
Run Code Online (Sandbox Code Playgroud)

我还读到,在服务器中,它使用Kerberos来实现这一点.

现在,我试图了解它在我们企业网络中的重要性.在办公室中,用户将使用其活动目录凭据登录其桌面.我们的服务托管在名为"SERV1"的Windows服务器中.

  1. 只有访问(登录)"SERV1"的用户才能访问该服务吗?或者所有能够登录办公室网络的用户(起诉活动目录凭证)都可以使用该服务?

  2. 有没有办法确保只有CIO批准的应用程序才能访问该服务,将服务保持为Windows身份验证?

  3. 是否针对每个服务操作呼叫或仅针对第一个呼叫进行此身份验证检查?

  4. 有什么方法服务将能够知道用户的Windows凭据?

注意:据我所知,WindowsAuthentication可以与会员提供商进行比较 - 从集中位置提供用户名和密码.它可以与ASP.Net成员资格提供程序或Active Directory成员资格提供程序进行比较.

进一步阅读:

  1. ASP.NET Active Directory成员资格提供程序和SQL Profile Provider

  2. wcf数据合同授权

  3. http://www.theserverside.net/tt/articles/showarticle.tss?id=ClaimsBasedSecurityModel

.net c# asp.net wcf windows-authentication

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

使实体类关闭以进行更改

我有一个数据库关系,如下所示.域对象是基于LINQ to SQL ORM创建的.

付款包括现金付款和礼品券付款.假设购买总额为550.可以按以下组件支付

1 Gift Coupon Valued 300

1 Gift Coupon Valued 200

I Cash Currency Valued 50
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我正在使用ORM的"InsertOnSubmit"功能插入新的付款记录.以下代码工作正常.但是,如果我公司使用信用卡引入新的支付组件,我需要更改我的"付款"域类.如何使支付类打开以进行扩展并关闭仍在使用ORM的更改

注意:Payment类具有行为(例如GetTotalAmountCollected).我正在努力使"付款"类满足OCP.

注意:优惠券类型有特定的行为.优惠券发行日期是否小于2000年1月1日,它不应用于计算总金额(即,CouponValue应为零).请参阅使用策略模式重构代码.

注意:我使用的是.Net 4.0

参考:

  1. 将ObjectContext.AddObject与Entity Framework一起使用时出错
  2. 使用策略模式重构代码
  3. 喜欢构成而不是继承?
  4. 代码优先与模型/数据库优先
  5. 使用Unity的策略模式和依赖注入
  6. 委托与OOP的C#策略设计模式
  7. 如何在C#中使用策略模式?
  8. 继承与EF代码第一:第2部分-每个类型表(TPT) http://weblogs.asp.net/manavi/archive/2010/12/28/inheritance-mapping-strategies-with-entity-framework-code-first -ctp5部分-2-表每类型tpt.aspx

C#代码:

public class PaymentAppService
{
    public RepositoryLayer.ILijosPaymentRepository Repository { get; set; }

    public void MakePayment()
    {
        DBML_Project.Payment paymentEntity = new DBML_Project.Payment();
        paymentEntity.PaymentID = 1;
        paymentEntity.PaymentType = "PurchaseP";

        DBML_Project.CashPayment cashObj = new …
Run Code Online (Sandbox Code Playgroud)

.net c# domain-driven-design entity-framework linq-to-sql

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

使用Composition为"is - a"关系的问题

我有为HR系统开发的系统.有会计员工和程序员员工.在加入公司的第一个月,员工没有任何角色.一名员工可以同时是会计师和程序员.我有一个由以下代码显示的设计.

现在,我需要通过实现新功能来增强系统:

终止所有会计师.(终止表示将员工的状态设置为IsActive = false).问题是我不能在没有检查的情况下将所有会计师直接设置为非活动状态.我需要检查一下他是否还有其他角色.

如何重新构造这些类以使终止函数更自然OO?

UPDATE

我正在寻找一个有@AlexDev答案的EF Database First解决方案模型和数据库架构的答案.

C#代码

List<Accountant> allAccountants =  Get All accountants from database

public class Employee
{
    public int EmpID { get; set; }
    public DateTime JoinedDate { get; set; }
    public int Salary { get; set; }
    public bool IsActive { get; set; }
}


public class Accountant : Employee
{
    public Employee EmployeeData { get; set; }
}

public class Programmer : Employee
{
    public Employee EmployeeData { get; set; }
} …
Run Code Online (Sandbox Code Playgroud)

c# oop ooad domain-driven-design solid-principles

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

从存储过程结果创建对象

我们有一个现有的SQL Server存储过程以及以下查询.我们需要Student从查询结果中创建以下类设计中的对象集合.

SqlDataReader使用中创建对象的最佳方法是什么LINQ

注意:我SqlDataReader只使用; 没有ORM

询问

SELECT 
    S.StudentID, S.StudentName, E.ExamID, E.ExamName, SE.Mark 
FROM 
    StudentExam SE
INNER JOIN 
    Student S ON S.StudentID = SE.StudentID
INNER JOIN 
    Exam E ON E.ExamID = SE.ExamID 
Run Code Online (Sandbox Code Playgroud)

public class ExamMark
{
    public int ExamID { get; set; }
    public string ExamName { get; set; }
    public int Mark { get; set; }
}

public class Student
{
    public int StudentID { get; set; }
    public string StudentName …
Run Code Online (Sandbox Code Playgroud)

c# linq sql-server stored-procedures

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

使用通用代表

我们知道"Action,Func和Predicate是预定义的通用委托.因此,作为委托,他们可以指向具有指定签名的函数."

我有以下数据访问方案,其中Func<T,R>有助于avoiding a foreach loop调用方法.方法2没有循环.这Func<T,R>有助于避免循环.

泛型委托的其他方案是什么,它可以节省大量的代码行?

参考

  1. 动态编写表达式谓词
  2. 高级C#
  3. C#/.NET Little Wonders:谓词,比较和转换器通用代表
  4. Func vs. Action vs. Predicate
  5. 什么是Func,它是如何以及何时使用的
  6. 如何使用泛型类型参数传入func?

方法1

public class MyCommonDAL
{

    public static IEnumerable<IDataRecord> ExecuteQueryWithTextCommandType(string commandText, List<SqlParameter> commandParameters)
    {
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            using (SqlCommand command = new SqlCommand())
            {
                command.Connection = connection;
                command.CommandType = CommandType.Text;
                command.CommandText = commandText;
                command.CommandTimeout = 0;
                command.Parameters.AddRange(commandParameters.ToArray());

                connection.Open();
                using (var rdr = command.ExecuteReader())
                {
                    while (rdr.Read())
                    {
                        yield return rdr;
                    } …
Run Code Online (Sandbox Code Playgroud)

c# generics ado.net

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