我有一个已经存在的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并重新创建它.有没有更好的办法?
我正在使用SQL Server 2008 R2.我需要列出数据库用户(MYUSER)具有执行权限的所有存储过程.
另外,我需要列出哪些是用户没有EXECUTE权限的存储过程 - 但是可以读取存储过程的脚本
是否有任何SQL语句或帮助函数用于这些目的?
参考:
我手动创建了一个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) 我在.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 casting和type 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) 在Android Studio 2.3.3,我知道如何从Android Studio中的Android项目启动AVD Manager.我可以用Tools --> Android --> AVD Manager.
但如果我没有Android项目,我该如何打开AVD Manager?在登陆屏幕配置中,未列出AVD Manager.有没有办法在不创建Android项目的情况下启动AVD Manager?
我有一个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服务器中.
只有访问(登录)"SERV1"的用户才能访问该服务吗?或者所有能够登录办公室网络的用户(起诉活动目录凭证)都可以使用该服务?
有没有办法确保只有CIO批准的应用程序才能访问该服务,将服务保持为Windows身份验证?
是否针对每个服务操作呼叫或仅针对第一个呼叫进行此身份验证检查?
有什么方法服务将能够知道用户的Windows凭据?
注意:据我所知,WindowsAuthentication可以与会员提供商进行比较 - 从集中位置提供用户名和密码.它可以与ASP.Net成员资格提供程序或Active Directory成员资格提供程序进行比较.
进一步阅读:
我有一个数据库关系,如下所示.域对象是基于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
参考:
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) 我有为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) 我们有一个现有的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) 我们知道"Action,Func和Predicate是预定义的通用委托.因此,作为委托,他们可以指向具有指定签名的函数."
我有以下数据访问方案,其中Func<T,R>有助于avoiding a foreach loop调用方法.方法2没有循环.这Func<T,R>有助于避免循环.
泛型委托的其他方案是什么,它可以节省大量的代码行?
参考
码
方法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)