EntityModel定义为: Personnel具有指向Country的链接
在LinqPad中执行此代码时,我发现第一个查询中生成的SQL未优化(返回所有字段)?我在这里错过了什么或做错了什么?
查询1 LINQ
var Country = Countries.FirstOrDefault(o => o.Id == 100000581);
var personnelIds = Country.Personnels.Select(p => p.Id).ToArray();
personnelIds.Dump();
Run Code Online (Sandbox Code Playgroud)
查询1 SQL
exec sp_executesql N'SELECT [t0].[Id], [t0].[Version], [t0].[Identifier], [t0].[Name], , [t0].[UpdatedBy] FROM [Personnel] AS [t0] WHERE [t0].[Country_Id] = @p0',N'@p0 bigint',@p0=100000581
Run Code Online (Sandbox Code Playgroud)
查询2 LINQ
var Country = Countries.FirstOrDefault(o => o.Id == 100000581);
var personnelIds2 = Personnels.Where(p => p.Country == Country).Select(p => p.Id).ToArray();
personnelIds2.Dump();
Run Code Online (Sandbox Code Playgroud)
查询2 SQL
exec sp_executesql N'SELECT [t0].[Id] FROM [Personnel] AS [t0] WHERE [t0].[Country_Id] = @p0',N'@p0 bigint',@p0=100000581
Run Code Online (Sandbox Code Playgroud)
使用的数据库是SQL Express 2008.而LinqPad版本是4.43.06
使用SoapUI,可以将Soap XML消息发送到WCF服务.我有以下SOAP消息:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:my="http://myserviceprovider">
<soap:Header/>
<soap:Body>
<my:ProcessOrder>
<my:Orders>
<my:Order>
<my:id>randomid_1234567890</my:id>
<my:data>ABC</my:data>
</my:Order>
</my:Orders>
</my:ProcessOrder>
</soap:Body>
</soap:Envelope>
Run Code Online (Sandbox Code Playgroud)
因为WCF服务需要my:id的唯一ID ,所以我想知道SoapUI是否提供自动生成随机GUID的功能?
我有下表(my_data):
year | X | Y
-----+-----+-----
2010 | A | 10
2011 | A | 20
2011 | B | 99
2009 | C | 30
2010 | C | 40
Run Code Online (Sandbox Code Playgroud)
什么是最好/最小的SQL语句,只检索与最高年份相关的数据并按"X"分组,如下所示:
year | X | Y
-----+-----+-----
2011 | A | 20
2011 | B | 99
2010 | C | 40
Run Code Online (Sandbox Code Playgroud)
请注意,此结果表将用于连接.
我已经创建了这样的WebService:
[WebService(Namespace = "http://ns")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class GroupManagerService : WebService
{
public GroupManagerService()
{
}
[WebMethod]
public bool MyMethod(string loginname, string country)
{
// code here...
}
}
Run Code Online (Sandbox Code Playgroud)
是否可以为此代码生成WSDL文件而无需连接到正在运行的服务?我搜索,我发现有关信息svcutil.exe的&Wsdl.exe用,但这些只能从运行WebService的检索WSDL时工作.
(对于java,有一个名为java2wsdl的工具,是否有等效的c#?)
:更新:
此问题的上下文是我要向SharePoint添加新的CustomWebService,它应该使用SharePoint上的_vti_bin文件夹中的WSPBuilder进行部署.另请参阅我在SharePoint.SE上的帖子.
我想自动生成(使用msbuild命令)'MyServicewsdl.aspx'和'MyServicedisco.wsdl',它必须放在_vti_bin文件夹中.
也许我错过了一些东西?svcutil.exe的输出是:
bin\Debug>SvcUtil.exe MyWebService.dll
Microsoft (R) Service Model Metadata Tool
[Microsoft (R) Windows (R) Communication Foundation, Version 3.0.4506.2152]
Copyright (c) Microsoft Corporation. All rights reserved.
Generating metadata files... …Run Code Online (Sandbox Code Playgroud) 这个问题或多或少与此相同
在包头中:
声明以下行类型:
TYPE exch_row IS RECORD(
currency_cd VARCHAR2(9),
exch_rt_eur NUMBER,
exch_rt_usd NUMBER);
Run Code Online (Sandbox Code Playgroud)
而这个表类型:
TYPE exch_tbl IS TABLE OF exch_row INDEX BY BINARY_INTEGER;
Run Code Online (Sandbox Code Playgroud)
添加了一个变量:
exch_rt exch_tbl;
Run Code Online (Sandbox Code Playgroud)
在包体中:
用一些数据填充此表变量.
在包体中的过程中:
我想使用以下语句:
CURSOR c0 IS
SELECT i.*, rt.exch_rt_eur, rt.exch_rt_usd
FROM item i, exch_rt rt
WHERE i.currency = rt.exchange_cd
Run Code Online (Sandbox Code Playgroud)
如何在Oracle中执行此操作?
笔记
实际上我正在寻找MSSQL中的"表变量"解决方案:
DECLARE @exch_tbl TABLE
(
currency_cd VARCHAR(9),
exch_rt_eur NUMBER,
exch_rt_usd NUMBER)
)
Run Code Online (Sandbox Code Playgroud)
并在我的StoredProcedure中使用此表变量.
我们假设我有两个类:CD和CDModel,映射定义如下:
Mapper.CreateMap<CDModel, CD>()
.ForMember(c => c.Name, opt => opt.MapFrom(m => m.Title));
Run Code Online (Sandbox Code Playgroud)
是否有一种简单的方法可以从映射中检索原始表达式,如c => c.Name(对于源)和m => m.Title(对于目标)?
我试过这个,但是我想念一些东西......
var map = Mapper.FindTypeMapFor<CDModel, CD>();
foreach (var propertMap in map.GetPropertyMaps())
{
var source = ???;
var dest = propertMap.DestinationProperty.MemberInfo;
}
Run Code Online (Sandbox Code Playgroud)
如何获取源和目标表达式?
在JAVA SDK中,可以设置端点,请参见此处.
但是如何为.NET SDK做到这一点?有什么名字可以使用?
因为似乎总是使用默认端点"US East(Northern Virginia)Region".
我正在使用T4MVC和MVC2.
我有以下构建基块:
一个简单的实体接口,定义每个POCO实体必须具有long Id属性:
public interface IEntity
{
public long Id;
}
Run Code Online (Sandbox Code Playgroud)一个简单的POCO类,它实现了IEntity接口并具有一些字符串属性:
public class CD : IEntity
{
public long Id { get; set; }
public long Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)基础控制器:
public abstract class EntityController<T> : Controller where T : class, global::IEntity
{
public EntityController(IEntityManager<T> manager);
}
Run Code Online (Sandbox Code Playgroud)我在my中使用这个基本控制器CDController(其中CDManager实现了IEntityManager接口,这是一个UnitOfWork模式来添加CRUD功能):
public partial class CDController : EntityController<CD>
{
public CDController() : base(new CDManager()) { }
}
Run Code Online (Sandbox Code Playgroud)当我运行我的t4模板时,会生成以下代码:
namespace MyApp.Web.Controllers …Run Code Online (Sandbox Code Playgroud) 完成我的C#应用程序后,我不得不制作一个安装程序.在看到默认安装程序项目消失后,我搜索了替换项.
我找到了Visual Studio安装程序项目.我从这里下载了文件:https://visualstudiogallery.msdn.microsoft.com/9abe329c-9bba-44a1-be59-0fbf6151054d.
当我重新启动Visual Studio,打开我的项目,单击"添加新项目",这是我得到的: 
问题是我找不到安装项目.我试过修复安装.我重启了几次Visual Studio.
我怎样才能找到安装程序项目以及为什么它对我不起作用.
如果我不能使它工作,有没有其他选择?(InstallShield除外)
Visual Studio 2013社区,更新4
Windows 8.1 64位
使用单页应用程序的示例时,我有以下TodoItem控制器:
public partial class MVC4TestController : DbDataController<MVC4TestContext>
{
public IQueryable<TodoItem> GetTodoItems()
{
return DbContext.TodoItems.OrderBy(t => t.TodoItemId);
}
}
Run Code Online (Sandbox Code Playgroud)
问题1:
似乎只支持EntityModels?
当使用真正的ViewModel(仅用于视图的模型,而不是用作1:1映射到数据库实体)时,DbDataController不支持此功能.
使用Linq.Translations或PropertyTranslator似乎也不起作用,请参阅此代码提取:
private static readonly CompiledExpressionMap<TodoItem, string> fullExpression =
DefaultTranslationOf<TodoItem>.Property(t => t.Full).Is(t => t.Title + "_" + t.IsDone);
public string Full
{
get
{
return fullExpression.Evaluate(this);
}
}
Run Code Online (Sandbox Code Playgroud)
问题2:
使用SPA,DBContext和ViewModels时的推荐设计是什么?
c# ×2
oracle ×2
select ×2
amazon-s3 ×1
asmx ×1
automapper ×1
constructor ×1
controller ×1
endpoint ×1
expression ×1
guid ×1
knockout.js ×1
linq ×1
map ×1
max ×1
random ×1
region ×1
row ×1
sharepoint ×1
soapui ×1
sql ×1
t4mvc ×1
upshot ×1
viewmodel ×1
web-services ×1
wsdl ×1
xml ×1