我想检索给定的Sql Server数据库中的所有模式的列表.使用ADO.NET模式检索API,我得到了所有集合的列表,但没有"模式"的集合.我可以穿越'Tables','Procedures'(如果需要和其他人)的集合,并获得独特的架构名称列表,但不存在实现相同结果的更简单/短呢?
示例:对于标准'AdventureWorks'数据库,我也想获得以下列表 - dbo,HumanResources,Person,Production,Purchasing,Sales(我省略了其他标准的Schem名称,如db_accessadmin,db_datareader等)
编辑:我可以通过查询系统视图获取模式列表 - INFORMATION_SCHEMA.SCHEMATA但更喜欢使用模式API作为首选.
我使用Visual Studio 2017(Community Edition)创建了一个ASP.NET Core Web API应用程序.我可以使用Visual Studio成功发布到Azure App Service.
我现在想要使用VSTS设置CI/CD.我使用了Visual Studio中的"配置持续交付"选项,该选项在VSTS中创建了一个项目并创建了一个构建定义.我必须在VSTS中基于'ASP.NET Core'模板创建一个新的构建定义,以避免Nuget恢复错误.现在构建解决方案并运行测试,但"发布"任务完成并发出警告 -
##[warning]No web project was found in the repository. Web projects are identified by the presence of either a web.config file or wwwroot folder in the directory.
Run Code Online (Sandbox Code Playgroud)
"发布工件"任务也有类似的警告 -
##[warning]Directory 'd:\a\1\a' is empty. Nothing will be added to build artifact 'drop'.
Run Code Online (Sandbox Code Playgroud)
显然,构建不会产生任何伪影.
我是否需要将任何构建任务添加到默认的ASP.NET Core构建模板中?如何使用VSTS将我的Web API发布到Azure?
azure continuous-deployment .net-core azure-devops asp.net-core
OData究竟是什么以及开始学习这个新概念,实施数据服务有多重要/必要?
另外,为什么WCF数据服务文档与OData紧密结合?
编辑:基于这里的答案是一个后续问题 - 我不应该尝试实现WCF数据服务没有OData,或者我可以这样做,但这意味着更难以实现(重新发明轮子)?
我正在尝试使用标准ADO.NET API - DbConnection.GetSchema调用获取Oracle包中声明的过程的存储过程元数据(过程名称,参数类型,参数名称等).我正在使用ODP驱动程序.
我看到Package列在'Packages'和'PackageBodies'元数据集合中.过程参数显示在"参数"和"过程参数"集合中.我没有看到通过包元数据获取过程信息的方法.即使该过程没有任何参数,此过程的"ProcedureParameters"集合中也有一行.
我的问题:要获取过程元数据,我是否必须查询'ProcedureParameters'集合并搜索具有所需包名称的条目?然后,我可以根据参数信息构建过程元数据.是否有更短或更快的方式来获取相同的信息?
考虑以下枚举和该类型的相应可空字段
enum PossibleOptions { One, Two }
PossibleOptions? option;
Run Code Online (Sandbox Code Playgroud)
或者,我可以将枚举和相应的字段声明为
enum PossibleOptions { Unspecified, One, Two }
PossibleOptions option;
Run Code Online (Sandbox Code Playgroud)
这个不可为空的字段将被初始化为第一个值,即'Unspecified',并且我实现了与可空('Unspecified'将替换option.HasValue)相同的结果.
为什么选择Nullable呢?任何性能提升或其他优势?
我不知何故觉得我错过了一些基本的东西.这是我的问题.
我正在尝试创建一个System.Threading.Tasks.Task实例来执行接受某种类型参数的操作.我以为我可以做点什么
void DoWork(MyClass obj) {} //My action that accepts a parameter of type 'MyClass'
MyClass obj = new MyClass();
Action<MyClass> action = DoWork; //action that points to the method
Task task = new Task(action,obj); //task that would execute 'DoWork' with 'obj' as the parameter when I call Start.
Run Code Online (Sandbox Code Playgroud)
显然这不会编译.看来我只能使用一个Action<object>而不是Action<T>一个任务,然后在我的方法中将'对象'转换为T.
如何才能最有效,最有效地实现我的目标?
我有一个类型是字典上的包装 - 基本上是一个键/值存储.我想将这种类型的对象数组序列化为JSON.我是JSON和Json.NET(newtonsoft.json)的新手.
我的类型有一个叫做ToJson的方法,它将字典序列化为json,如下所示
public string ToJson()
{
return JsonConvert.SerializeObject(this.values);
}
Run Code Online (Sandbox Code Playgroud)
然后我尝试序列化这些对象的数组
var json = JsonConvert.SerializeObject(objectArray)
Run Code Online (Sandbox Code Playgroud)
当然这不起作用,因为数组中的每个对象都是序列化的,我不知道如何将序列化过程指向每个对象的'ToJson'方法.
如果我传入一个Dictionary对象数组,我可以完全按照我想要的方式工作.
也许我错过了一些序列化属性?
编辑:
在阅读了更多文档之后,我尝试了一种更短的方法(在考虑JsonConverter方法之前) - 使用'JsonPropertyAttribute'.它适用于私有字典成员几乎没有,只是我也得到了成员名称序列化,我不想要这份工作.有什么方法可以通过使用JsonPropertyAttribute序列化成员值而不是成员名称?
我想要实现的目标如下:我在BaseClass中声明了一个属性.如果通过基类'指针访问此属性,则只有getter可用,但如果使用派生类指针,我希望能够获取并设置该属性.所以intellisense甚至不应该显示基本指针的setter.
public class BaseClass
{
public virtual int MyProperty
{
get { return 1; }
set {;}//This would show the setter in Intellisense
}
}
public class DerivedClass : BaseClass
{
int intValue;
public override int MyProperty
{
set { intValue = value;}
}
}
Run Code Online (Sandbox Code Playgroud)
一个现实的例子:
考虑一种情况,你有一个从Person类派生的Parent和Child类.想象一下属性-RestrictionLevel,两者都可以读取它,但只有父级可以设置值.有没有更好的方法来设计这种情况?
我有一个简单的应用程序,需要执行某些查询来获取数据库架构信息.我写了一个简单的方法来执行查询并返回一个读者,像这样 -
public static DbDataReader ExecuteQuery(DbConnection connection,string sql)
{
DbCommand command = connection.CreateCommand();
command.CommandText = sql;
using(command)
{
return command.ExecuteReader();
}
}
Run Code Online (Sandbox Code Playgroud)
调用代码确实关闭连接并适当地处理读取器和连接.
我的问题 - 在迭代读取器之前,是否可以将命令实例(通过使用块完成)放弃?关闭阅读器后,我不希望填充任何OUT参数.ADO.NET API是否有任何严格的准则?
如何比较两个AssemblyName实例以确定它们是否代表相同的程序集?"等于"方法未被覆盖.
我能想到的一种方法是比较两个实例的'ToString()'结果,但我更喜欢'Equals'语法,因为我需要准备一个'unique'AssemblyName实例的列表(List),并希望使用'包含(AssemblyName项)'方法.
c# ×7
.net ×6
ado.net ×3
.net-core ×1
asp.net-core ×1
azure ×1
azure-devops ×1
dbdatareader ×1
dispose ×1
json ×1
json.net ×1
metadata ×1
odata ×1
oracle ×1
packages ×1
sql-server ×1
wcf ×1