我曾经看过一些书(例如编程实体框架代码Julia Lerman)定义了他们的域类(POCO)而没有初始化导航属性,如:
public class User
{
public int Id { get; set; }
public string UserName { get; set; }
public virtual ICollection<Address> Address { get; set; }
public virtual License License { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
生成POCO时,其他一些书籍或工具(例如Entity Framework Power Tools)初始化类的导航属性,如:
public class User
{
public User()
{
this.Addresses = new IList<Address>();
this.License = new License();
}
public int Id { get; set; }
public string UserName { get; set; }
public virtual ICollection<Address> Addresses { …Run Code Online (Sandbox Code Playgroud) c# domain-driven-design entity-framework navigation-properties ef-code-first
这是我的代码.它可以工作,如果你想遍历所有行.现在,QA告诉我,我必须支持过滤器.因此,当用户使用过滤器时,只有行的子集将显示在网格上.我只需要遍历那些行.
var entityGrid = $("#EntitesGrid").data("kendoGrid");
var data = entityGrid.dataSource.data();
var totalNumber = data.length;
for(var i = 0; i<totalNumber; i++) {
var currentDataItem = data[i];
VersionIdArray[i] = currentDataItem.VersionId;
}
Run Code Online (Sandbox Code Playgroud)
我试过了.
var data = entityGrid.dataSource.data().fetch();
Run Code Online (Sandbox Code Playgroud)
和
var data = entityGrid.dataSource.data().filter();
Run Code Online (Sandbox Code Playgroud)
无法让它运作.
通常在代码中看到日志记录功能:
public class A {
private static final Log LOG = LogFactory.getLog(A.class);
Run Code Online (Sandbox Code Playgroud)
和用法:
} catch (Exception e) {
LOG.error(e.getMessage(), e);
throw e;
}
Run Code Online (Sandbox Code Playgroud)
但我从来没有看到过这种代码的单一单元测试.
当然我测试抛出异常和异常类型,但是我应该编写测试来检查日志记录信息吗?我倾向于认为日志记录是系统行为的另一部分,所以它在逻辑上退出以在测试中覆盖它.
假设我应该覆盖它,意味着我应该更改我的原始代码以注入模拟日志并检查是否使用预期消息调用了"error"方法.但是,如果我的原始类是service并且它是由spring实例化的,该怎么办?我应该注入一些记录器以及其他依赖项吗?
我正在尝试将JSON.NET用作WebAPI 2堆栈中的默认序列化程序.我已经实现了JsonMediaTypeFormatter,其中我使用了JSON.NET序列化程序来序列化/反序列化数据,并创建了JsonContentNegotiator来使用这种媒体类型格式化程序.除OData查询外所有工作正常 - 如果我添加[可查询]元数据ot动作方法,则响应对象不包含任何元数据信息,仅包含实体列表.
小例子.我的行动方法:
[Queryable]
public async Task<PageResult<RuleType>> GetRuleType(ODataQueryOptions<RuleType> options)
{
var ret = await _service.ListRuleTypesAsync(options);
return new PageResult<RuleType>(
ret,
Request.GetNextPageLink(),
Request.GetInlineCount());
}
Run Code Online (Sandbox Code Playgroud)
如果我使用默认的OData序列化并按规则类型调用一些查询(例如 - .../odata/RuleType?$inlinecount=allpages&$skip=0&$top=1),我会收到带有元数据信息和计数属性的经典OData响应:
odata.metadata ".../odata/$metadata#RuleType"
odata.count "2"
value
0 {
Id: 1
Name: "General"
Code: "General"
Notes: null
}
Run Code Online (Sandbox Code Playgroud)
(某些领域跳过,但我有一个空值Notes属性),但如果我加上我JsonContentNegotiator有JsonMediaTypeFormatter一个串行-我只接收实体的名单:
[
{
"Id": 1,
"Name": "General",
"Code": "General"
}
]
Run Code Online (Sandbox Code Playgroud)
(因为这里没有Notes字段NullValueHandling.Ignore)更多.如果我[Queryable]在动作方法中删除属性 - 我收到另一个结果:
{
"Items": [
{
"Id": 1,
"Name": "General",
"Code": "General"
}
],
"Count": 2 …Run Code Online (Sandbox Code Playgroud) 我正在使用Code First创建一个表.
我创建了类,映射文件并在nuget中发出了add-migration命令,然后是update-database命令
然后我改变了课程,就像一个白痴删除了桌子.
我删除了迁移类文件
我发出了一个add-migration命令
当我发出update-database命令时,我收到以下错误:
System.Data.SqlClient.SqlException(0x80131904):找不到对象"dbo.CorrectiveActionPlan",因为它不存在或您没有权限.在System.Data.SqlClient.SqlConnection.OnError(SqlException异常,Boolean breakConnection,Action
1 wrapCloseInAction) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action在System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj,布尔callerHasConnectionLock,布尔asyncClose)的System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior,SqlCommand cmdHandler,SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj,Boolean&)中的1 wrapCloseInAction) dataReady)在System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName,Boolean async,Int32 timeout),System.Data.SqlClmand.SmandCommand.InternalExecuteNonQuery(TaskCompletionSource1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at System.Data.Entity.Migrations.DbMigrator.ExecuteSql(DbTransaction transaction, MigrationStatement migrationStatement) at System.Data.Entity.Migrations.Infrastructure.MigratorLoggingDecorator.ExecuteSql(DbTransaction transaction, MigrationStatement migrationStatement) at System.Data.Entity.Migrations.DbMigrator.ExecuteStatements(IEnumerable1 migrationStatements),位于System.Data.Entity.Migrations.Infrastructure.MigratorBase. ExecuteStatements(IEnumerable的1 migrationStatements) at System.Data.Entity.Migrations.DbMigrator.ExecuteOperations(String migrationId, XDocument targetModel, IEnumerable在System.Data.Entity.Migrations.Infrastructure.MigratorLoggingDecorator.ApplyMigration(DbMigration migration,DbMigration lastMigration)上的System.Data.Entity.Migrations.DbMigrator.ApplyMigration(DbMigration migration,DbMigration lastMigration)中的1个操作,布尔降级,布尔自动) System.Data.Entity.Migrations.DbMigrator.Upgrade(IEnumerable 1 pendingMigrations,String targetMigrationId,String lastMigrationId)1 pendingMigrations, String targetMigrationId, String lastMigrationId) …
我使用kendo ui工具开发了一个Web应用程序,还有一个带有批量编辑模式的kendo网格.
但是当我按下删除按钮以获取剑道网格中的任何记录时,它将从网格中的列表中删除但实际上不在数据源中.当我重新加载页面或网格时,删除的项目仍然存在.
这是我网格的代码
<div id="grid">
</div>
<script type="text/javascript">
$("#submitMarketUser").click(function () {
var grid = $("#grid").data("kendoGrid");
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: "WholeSaleTrade/GetTradeProductDetail",
dataType: "json",
data: {
test: $("#Names").val()
}
},
destroy: {
url: "WholeSaleTrade/DeletePro",
type: "POST",
dataType: "jsonp",
data: {
DAKy: $("#Names").val(),
DIKy: $("#btntxt").val()
}
},
create: {
url: "WholeSaleTrade/CreateProduct",
type: "POST",
dataType: "jsonp",
data: {
AKy: $("#Names").val(),
IKy: $("#btntxt").val()
}
}
},
pageSize: 5,
schema: {
model: {
id: "ProductKey", …Run Code Online (Sandbox Code Playgroud) 我刚刚安装了VS2013.当我按下Up或Down键入剃刀文件编辑器时,它不是纯粹的HTML并且有一些剃刀代码VS 2013减慢并永久消耗~25%的CPU,一切都很慢,直到我重新启动VS.
我注意到只有在重新打开剃刀文档时才会出现问题.如果打开解决方案时文档已打开,则不会出现问题.
我尝试了很多东西,但没有一个能解决问题:
我在VS 2012的同一台机器上测试它,一切正常.
<ul>
<li style="@(!User.IsInRole("men") ? "display: none" : "")">Menu1</li>
<li style="@(!User.IsInRole("women") ? "display: none" : "")">Menu2</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
如果我删除style="@(!User.IsInRole("men") ? "display: none" : "")"问题不再发生.任何的想法?
我对Kendo UI AutoComplete组件感到疯狂.我正在使用自己的函数来使用jQuery访问数据,因此我必须将AutoComplete dataSource.transport.read设置为函数.代码是这样的.
minLengthAtocomplete = 3;
$('#autocomplete').kendoAutoComplete({
minLength : 3,
filter : "contains",
dataValueField : "key",
dataTextField : "value",
dataSource : new kendo.data.DataSource({
transport : {
read : _OnTransportRead
},
schema : {
/* object schema */
}
})
});
function _OnTransportRead(e) {
var text = $.trim(e.data.filter.filters[0].value);
if (text && text.length >= minLengthAtocomplete) {
_GetUsers(
text,
function onSuccess(data) {
var users = [];
/* sets users with info in data */
e.success(users);
},
function onError(error) {
/* stuff with …Run Code Online (Sandbox Code Playgroud) 是否可以在同一对象上显示对象的线框以及其面的纯色?我找到了一种方法,使用对象的克隆并分配不同的材料,例如
var geometry = new THREE.PlaneGeometry(plane.width, plane.height,width - 1, height - 1);
var materialWireframe = new THREE.MeshPhongMaterial({color:"red",wireframe:true});
var materialSolid = new THREE.MeshPhongMaterial({color:"green",wireframe:false});
var plane = new THREE.Mesh(geometry, materialWireframe );
var plane1 = plane.clone();
plane1.material = materialSolid ;
plane1.material.needsUpdate = true;
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
我有以下http://jsfiddle.net/TgBzB/3/,并希望在用户选择项目时清除自动填充字段.以下代码不会这样做: -
$("#input").data("kendoAutoComplete").value("");
Run Code Online (Sandbox Code Playgroud)
这可能吗?
//create AutoComplete UI component
$("#input").kendoAutoComplete({
dataSource: data,
filter: "startswith",
placeholder: "Select country...",
select: function(e) {
var dataItem = this.dataItem(e.item.index());
$('#list').append("<li>" + dataItem + "</li>");
//How do I clear the #input here?
$("#input").data("kendoAutoComplete").value("");
}
});
Run Code Online (Sandbox Code Playgroud) kendo-ui ×4
c# ×2
asp.net-mvc ×1
autocomplete ×1
datasource ×1
java ×1
json.net ×1
kendo-grid ×1
logging ×1
material ×1
mesh ×1
nuget ×1
razor ×1
three.js ×1
transport ×1
unit-testing ×1