小编Eit*_*tan的帖子

自我引用Fluent NHibernate中的多对多关系自动化自动化为1:n而不是n:n

标题几乎解释了这一切,我有一个成员对象,引用也是类型成员的'朋友'.

public class Member : Entity
    {
        public Member()
        {            
            Friends = new List<Member>();
        }

        public virtual IList<Member> Friends
        {
            get; set;
        }
     }
Run Code Online (Sandbox Code Playgroud)

模式生成工具使其成为1:n关系,而它应该是:n关系,即将列添加到名为member_id的成员表中,并且不创建连接表.

有没有办法让自我在Fluent NHibernate中引用多对多的关系?

我尝试使用之前得到的覆盖作为答案:

public class MemberOverride : IAutoMappingOverride<Member>
{
    public void Override(AutoMapping<Member> mapping)
    {
        mapping.HasManyToMany(m => m.Friends)
               .Table("MemberFriendsLinkTable");
    }
}
Run Code Online (Sandbox Code Playgroud)

但我收到错误信息:

"NHibernate.MappingException:集合映射中的重复列:Proj.BO.Member.Friends列:Member_id"

谢谢

编辑:我找到了答案,它是:

mapping.HasManyToMany(m => m.Friends).ParentKeyColumn("Member_Id").ChildKeyColumn("Friend_Id")
                   .Table("MemberFriendsLinkTable").Inverse().Cascade.SaveUpdate();
Run Code Online (Sandbox Code Playgroud)

.net c# nhibernate fluent-nhibernate

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

无法创建SSL/TLS安全通道.SecureChannelFailure

使用SSL证书进行SOAP调用时出现SSL错误:

请求已中止:无法创建SSL/TLS安全通道.

奇怪的是,如果我在Firefox中加载证书并访问端点或调用API而不发送任何数据,我不会收到任何错误消息并且连接成功.暴露API的公司也提到证书是犹太人的.

我正在加载的证书具有"Everyone"的完全权限.我已经尝试过我在互联网上看到的所有解决方案,但仍然遇到错误.

这是我创建请求的代码:

 ServicePointManager.Expect100Continue = true;
 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
 var request = (HttpWebRequest)WebRequest.Create(plugin.EndPoint);
 request.ContentType = "text/xml; charset=utf-8";
 request.Method = "POST";
Run Code Online (Sandbox Code Playgroud)

获取证书的代码(我也尝试过使用pfx):

var cert = new 
 509Certificate2(@"C:\clientcert.p12", "FakePassword");
request.ClientCertificates.Add(cert);
Run Code Online (Sandbox Code Playgroud)

和请求的代码:

  byte[] byteArray = Encoding.UTF8.GetBytes(xml);
    request.ContentLength = byteArray.Length;
    using (var dataStream = request.GetRequestStream())
                {
                    dataStream.Write(byteArray, 0, byteArray.Length);
                    dataStream.Close();


                    using (WebResponse response = request.GetResponse())
                    {
                        using (var responseStream = response.GetResponseStream())
                        {
                            StreamReader reader = 
new StreamReader(responseStream ?? throw new InvalidOperationException());
                            return reader.ReadToEnd();
                        }
                    }

                }
Run Code Online (Sandbox Code Playgroud)

编辑:

以下是运行请求的跟踪输出:

System.Net信息:0:[11844] InitializeSecurityContext(In-Buffers count = …

.net c#

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

如何将字符串文字附加到从Select-Object命令返回的属性

如何在一个字符串中连接字符串文字和参数Select-Object.

例如我有:

Get-AdUser -filter * | Select-Object 'sip'+SamAccountName,Name, Email, etc
Run Code Online (Sandbox Code Playgroud)

基本上我想SamAccountName从AdUser 返回属性,前面是字符串文字sip.

我尝试了所有我能想到的东西.

谢谢!

编辑:添加参数和多个用户

powershell

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

在WPF表单上显示HTML片段

我想在表单上显示HTML部分.我在网上看了几个关于使用网络表单或文档布局等的例子,但没有什么对我有用.

我们的网站上有一个系统,用户可以使用真实文本编辑器(CKEditor)输入通知.消息保存在数据库中,办公室中所有计算机上的WPF应用程序都应显示该消息.

我想在我的WPF程序中支持HTML.HTML不在页面中,它是db中的一段HTML,需要在WPF应用程序上以其呈现的形式显示.

例如,如果有人输入<img src="http://www.google.com/google.jpg" />它,当我从数据库中检索它并在表单上显示时,它将在wpf应用程序中显示该图像.

最好的方法是什么?

PS我无法使用Web浏览器,因为Windows将"AllowTranparency"设置为true.

.net c# wpf winforms

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

HTTP请求未经授权使用客户端身份验证方案"Negotiate".身份验证标头

我正在尝试从我们的办公室sharepoint调用web服务.当我从我们的测试项目中调用它时,它可以工作,我可以访问URL并通过浏览器检索信息,但是当我通过webservice调用它时,我收到以下错误:

System.ServiceModel.Security.MessageSecurityException:HTTP请求未经授权,客户端身份验证方案为"Negotiate".从服务器收到的身份验证标头是'Basic realm =

当我们登录sharepoint时,我们使用Windows凭据自动登录.

我的网络配置如下所示:

<binding name="ListsSoap" closetimeout="00:01:00" opentimeout="00:01:00" receivetimeout="00:10:00"
    sendtimeout="00:01:00" allowcookies="false" bypassproxyonlocal="false" hostnamecomparisonmode="StrongWildcard"
    maxbuffersize="65536" maxbufferpoolsize="524288" maxreceivedmessagesize="65536"
    messageencoding="Text" textencoding="utf-8" transfermode="Buffered" usedefaultwebproxy="true">

  <readerQuotas maxDepth="32" maxStringContentLength="8192"
     maxArrayLength="16384"
                       maxBytesPerRead="4096"
    maxNameTableCharCount="16384" />
  <security mode="Transport">
    <transport clientCredentialType="Windows" proxyCredentialType="Basic" realm="" />
    <message
    clientCredentialType="UserName" algorithmSuite="Default" />
  </security>
</binding>
Run Code Online (Sandbox Code Playgroud)

网址使用SSL(即https://blahblah.com.sharepoint.emea.microsoftonline.com/Lists/ ....)

我已经使用了几乎所有的组合:使用ntlm进行传输,使用基本等进行TransportWithMessageCredential运行,并且我得到的错误信息是它期望http并且它获得了https.

谢谢您的帮助

Ë

c# asp.net ssl sharepoint wcf

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

SQL Server - 获取具有不同查询的重复行

我正在尝试为每个客户计算子记录(地址).我有2个查询,我想知道它们是否相同:

SELECT 
    a.AddressId,  c.CustomerID, COUNT(*) AS NumDuplicates 
FROM 
    Customers C
INNER JOIN 
    Addresses a ON c.AddressID = a.AddressID 
GROUP BY 
    c.CustomerID, a.AddressId 
ORDER BY 
    NumDuplicates DESC


SELECT 
    c.CustomerID,
    (SELECT COUNT(*) 
     FROM Addresses a 
     WHERE a.AddressID = c.AddressID) AS AddressCount
FROM 
    Customers c 
ORDER BY 
    AddressCount desc
Run Code Online (Sandbox Code Playgroud)

如果他们不是,那有什么区别?如果它们更有效率?

sql sql-server

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

创建一个纯函数来合并对象

假设我有变量'state'和'newState'.我想创建一个纯函数,返回使用'newState'的属性(和子属性)更新的'state'.这是一个例子:

const state = {id:1, name:'aName', description: 'aDescription'};

const newState = {id:1, name:'newName', subItems: {id:3, type:'whatever'}};
Run Code Online (Sandbox Code Playgroud)

该函数将返回:

{id:1, name:'newName', subItems: {id:3, type:'whatever'}}
Run Code Online (Sandbox Code Playgroud)

我可以使用rest参数,但我不知道如何追加而不是覆盖.我不能只是遍历属性,因为我希望函数是纯的(redux reducer).

有人有主意吗?

javascript functional-programming reactjs redux

3
推荐指数
1
解决办法
113
查看次数

使用密钥包括中间证书将 PFX 转换为 PEM

我有一个 PFX,我想将其转换为 CRT 和密钥或 PEM 和密钥以安装在 NGINX 端点上。当我将 pfx 导入 Windows 机器上的证书存储区时,它会创建证书、中间链和根 CA。

如果我使用该 PFX 并运行以下 openssl 命令并将其绑定到端点,我将无法获得链中的所有证书:

openssl pkcs12 -in ./GoDaddy.pfx -clcerts -nokeys -out pcc.crt -nodes -nokeys

openssl pkcs12 -in ./GoDaddy.pfx -nocerts -nodes -out pcc.rsa -nodes -nokeys
Run Code Online (Sandbox Code Playgroud)

是否有我可以运行的开关或命令将 PFX 转换为 crt / rsa 或 pem /key 以及链上到根 CA 的所有证书?

ssl openssl ssl-certificate

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

我一直收到这个错误:"读取器关闭时无效尝试调用Read"

这是我的代码,我关闭并打开阅读器,它仍然无法正常工作.一些线程可以同时访问此函数,但存在锁定.它在开始时工作了几次,但迟早我得到了"读取器关闭时无效尝试调用读取"的异常

private IList<BursaUser> GetUsers(SqlCommand cmd)
{
 IList<User> users = new List<User>();
 User user;
 lock (thisLock)
  {
      SqlDataReader dr = null;

       try
       {
           Conn.Open();
           dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
           while (dr.Read())
            {
                user = new User
                {
                    UserId = Convert.ToInt32(dr["WorkerNum"]),
                    CompanyName = dr["CompanyName"].ToString(),
                     WorkerName = dr["WorkerFirstName"] + " " + dr["WorkerFamilyName"],
                                      Phone = dr["Phone"].ToString()
                                  };
                       if (dr["QueueNum"] != null && dr["QueueNum"] != DBNull.Value)
                       {
                           user.Queue = new Queue
                            {
                                  HasAlreadyEntered =
                                   dr["flgAppear"] != null && dr["flgAppear"].ToString() == "Y",
                                   IsFromWebsite = dr["TookFrom"].ToString() == "1", …
Run Code Online (Sandbox Code Playgroud)

.net c# ado.net multithreading datareader

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