小编Bas*_*yon的帖子

实体框架核心不包含"包含"的定义

我正在尝试使用Entity Framework Core 1.0并尝试在通过dbcontext填充对象时使用.Include.

        EFTestContext context = new EFTestContext();
        var testEntity = context.TestEntity
            .Include(t => t.TestEntity2)
            .ToList();
Run Code Online (Sandbox Code Playgroud)

它给了我错误

不包含'Include'的定义,也没有扩展方法'Include'接受'DbSet'类型的第一个参数可以找到

到目前为止我在Stackoverflow中找到的唯一类似的东西是

IQueryable <T>不包含"包含"的定义,也没有包含"包含"的扩展方法

但是添加using语句

using System.Data.Entity;
Run Code Online (Sandbox Code Playgroud)

只要给我错误

名称空间'System.Data'中不存在类型或命名空间名称'Entity'(您是否缺少程序集引用?)

任何人都知道我需要获得包含在WF Core 1.0中显示的内容吗?

c#

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

无法通过Windows 2012上的系统dsn使用ODBC连接连接到SQL Server 2008

我有Windows 2012服务器,我可以通过创建数据连接通过Visual Studio Server Explorer连接到SQL Server 2008实例.我也可以使用SQL Server Management Studio并连接到该SQL Server.但由于某些原因,当我尝试使用ODBC数据源管理器连接来设置DSN时,我收到以下错误.

连接失败:
SQLState:'01000'SQL
错误:1
[Microsoft] [ODBC SQL Server驱动程序] [DBNETLIB] ConnectionOpen(SECCreateCredentials()).
连接失败:
SQLState:'08001'SQL
错误:18
[Microsoft] [ODBC SQL Server驱动程序] [DBNETLIB] SSL安全错误

我似乎无法找到任何关于此的内容,并想知道是否有人熟悉这个问题.

我想补充一点,客户端和服务器都没有执行加密,所以我有点困惑,我会得到一个ssl相关的错误.

odbc sql-server-2008 windows-server-2012

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

从Exception.Data c#获取键值

我想使用Data属性来存储我想要在新异常中抛出的信息,并且我已经弄清楚如何使用这个片段循环遍历每个DictionaryEntries

foreach (DictionaryEntry de in ex.Data)
Run Code Online (Sandbox Code Playgroud)

但我更喜欢的是通过其键名获取值,因为我在该Data对象中有不同的对象类型.如果我可以通过其键名获取值,则更容易将它们转换为正确类型的对象.

任何人都知道如何通过键名获取Exception.Data字典条目?

c# exception

5
推荐指数
2
解决办法
4136
查看次数

如何从net Core中的异常中获取行号和文件名?

我曾经能够使用以下内容为我的行号和类提取异常

   System.Diagnostics.StackTrace trace = new System.Diagnostics.StackTrace(ex, true);
    var stackFrame = trace.GetFrame(trace.FrameCount - 1);
    var lineNumber = stackFrame.GetFileLineNumber();
    var file = stackFrame.GetFileName();
Run Code Online (Sandbox Code Playgroud)

但是,现在每当我尝试提取该信息时,使用.Net Core 1.0中的类库,行号始终为0,文件名始终为null.

我将needfileinfo布尔值设置为true并且存在pdb文件.这个功能在.NET Core框架中是不行的还是我现在应该采用的一些不同的方法?

说到下面提供的答案.我已经在使用"System.Diagnostics.StackTrace":"4.0.1"并且具有相同的结果.空FileName和0 FileNumber.我甚至开始了一个新项目,只复制他的代码和相同的结果.使用"System.Diagnostics.StackTrace"的空文件名和0文件号:"4.0.1"

更新::

追求我能想到的每一个选项,我在不同的工作站上试过这个.它工作正常.显然它在我的工作站上的东西是失败的......所以问题是环境并不是特定于包装.当我弄清楚问题是什么时,我会再次更新.

所以经过进一步的调查有趣的话.虽然它是环境,但它也特定于Net Core.在同一环境中的非Net Core应用程序中,StackTrace工作正常.但是,我在事件日志中遇到安全审核失败

A privileged service was called.

Service:
    Server: Security
    Service Name:   -

Process:
    Process ID: 0x55a0
    Process Name:   C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Remote Debugger\x64\msvsmon.exe

Service Request Information:
    Privileges:     SeCreateGlobalPrivilege

and  

A privileged service was called.


Service:
    Server: Security
    Service Name:   -

Process:
    Process ID: 0x5628
    Process Name: …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core

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

结合sql select和Count

我有两张桌子

A和B.

 A                          B
-----------------         -----------------
a_pk (int)                b_pk (int)
a_name(varchar)           a_pk (int)
                          b_name (varchar) 
Run Code Online (Sandbox Code Playgroud)

我可以写一个查询

SELECT a.a_name, b.b_name
FROM  a LEFT OUTER JOIN b ON a.a_pk = b.a_pk
Run Code Online (Sandbox Code Playgroud)

这将返回一个表a中所有内容的非独特列表,其表b加入了数据.对于列a,将显示重复项,其中不同的b记录共享共同的a_pk列值.

但我想要做的是从表A列a_name获取一个完整的值列表,并添加一个列,该列是表B的连接值的COUNT.

因此,如果a_pk = 1且a_name = test,并且在表b中有5条记录的a_pk值为1,那么我的结果集将是

a_name        b_count
------        -------
test           5
Run Code Online (Sandbox Code Playgroud)

sql count

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

如何将空值传递给SqlCommand的参数

在有人评论之前已经在其他问题上回答过这个问题之前,我知道这一点......但是尽管我已经回顾了这些答案

甚至我自己的问题

我无法让我的查询返回带有null参数的值

我已经尝试简化我的代码,因此可以在这里看到.

我也试过这个

 int? i = null;

 SqlConnection connection = new SqlConnection(Properties.Settings.Default.connstring.ToString());

 SqlCommand cmd = new SqlCommand();
 cmd.Connection = connection;
 cmd.CommandText = "Select * from view_nests where parent_pk = @parent_pk";
 cmd.Parameters.AddWithValue("@parent_pk", i ?? Convert.DBNull);

 cmd.Connection.Open();

 var dataReader = cmd.ExecuteReader();
 var dataTable = new DataTable();
 dataTable.Load(dataReader);

 cmd.Connection.Close();
Run Code Online (Sandbox Code Playgroud)

我尝试过这方面的变化

cmd.Parameters.AddWithValue("@parent_pk", DBNull.Value);
Run Code Online (Sandbox Code Playgroud)

我尝试过使用该查询

cmd.CommandText = "Select * from view_nests where parent_pk = @parent_pk or @parent_pk Is Null";
Run Code Online (Sandbox Code Playgroud)

我尝试将参数明确声明为可为空

cmd.Parameters.AddWithValue("@parent_pk", i ?? Convert.DBNull).IsNullable = true; …
Run Code Online (Sandbox Code Playgroud)

c# sql-server dbnull sqlparameter

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

如何在我想修改的对象列表中动态选择对象的属性

我有一个类对象的列表

可以说这个类的结构是这样的

    class DataEntity 
    {
        public string col1 { get; set; }
        public string col2 { get; set; }
        public string col3 { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

所以名单将是

List<DataEntity> list = new List<DataEntity>
Run Code Online (Sandbox Code Playgroud)

所以这是我的问题,我需要遍历列表并修改特定属性的值..但我不知道在运行时需要修改什么属性。

所以可以说有一个方法可以转换列表,并且要修改的属性名称作为字符串值传入

public List<DataEntity> Convert (List<DataEntity> list, string propertyName, string appendedValue)
{ 

}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是如何遍历该列表,并为输入的 propertyName 将 appendedValue 附加到该属性值

我知道我可以使用这样的反射来获取属性值

 Type type = dataEntity.GetType();
 foreach (PropertyInfo pi in type.GetProperties())
 {    
 }
Run Code Online (Sandbox Code Playgroud)

但我不确定如何利用它来定位特定属性以在运行时追加。

c#

-1
推荐指数
1
解决办法
5245
查看次数