我需要在数据库中手动输入主键值,因为我需要键值与枚举同步。但是,使用 DatabaseGeneeratedoption.None 似乎不起作用。即使我删除数据库并重新开始,JobType 中的 Id 列仍然具有自动递增的主键。
这与我使用枚举作为主键有关吗?
工作实体
public class Job : EntityBase
{
public long JobId { get; set; }
public JobTypeEnum JobTypeId { get; set; }
public JobType JobType { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
工作类型
public class JobType
{
public JobTypeEnum Id { get; set; }
public String Name { get; set; }
public String Description { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
配置类
public class JobTypeConfiguration : EntityTypeConfiguration<JobType>
{
public JobTypeConfiguration()
{
HasKey(x => x.Id);
Property(x => x.Id)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None); …Run Code Online (Sandbox Code Playgroud) 我需要设置一个有状态 Service Fabric 应用程序,该应用程序侦听 TCP 请求,然后将消息弹出到可靠队列。
有很多关于 HTTP 和 WCF 端点的例子,但我找不到简单的 TCP。
在我的ServiceManifest.xml我有这个
<Endpoints>
<!-- This endpoint is used by the communication listener to obtain the port on which to
listen. Please note that if your service is partitioned, this port is shared with
replicas of different partitions that are placed in your code. -->
<Endpoint Name="ServiceEndpoint" />
<!-- This endpoint is used by the replicator for replicating the state of your service.
This endpoint is configured through …Run Code Online (Sandbox Code Playgroud) 我有以下属性:
public class ValidateModelAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(HttpActionContext actionContext)
{
if (actionContext.ModelState.IsValid == false)
{
actionContext.Response = actionContext.Request.CreateErrorResponse(
HttpStatusCode.BadRequest, actionContext.ModelState);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我有这个通用的扩展方法,用于确定属性是否应用于方法
public static bool ActionHasFilter(this ApiController controller, string action, Type filter)
{
var controllerType = controller.GetType();
var method = controllerType.GetMethod(action);
object[] filters = method.GetCustomAttributes(filter, true);
return filters.Any(x=>x.GetType() == filter);
}
Run Code Online (Sandbox Code Playgroud)
我的问题是如何在不测试控制器动作的情况下测试属性是否真实有效?
假设我有以下实体
public class UserViewModel
{
[Required]
public string Name {get; set;}
[Required]
[EmailAddress]
public string Email {get;set;
}
Run Code Online (Sandbox Code Playgroud)
我将如何模拟上下文并检查模型是否有效?
我正在使用Nunit和Moq.
是否可以使用自定义消息覆盖MVCContrib Grid中的默认"无数据可用"消息?
asp.net asp.net-mvc mvccontrib mvccontrib-grid asp.net-mvc-2
我有这个代码块,最终被序列化为JSON,用于Jquery FullCalender插件.ToUnixTimeSpan方法在DateTime对象中进行处理,并返回自1970年以来的秒数.
DateEnd可以为null.在这段代码中,如果DateEnd为null,我如何测试null并跳过end = ToUnixTimespan(e.DateEnd)?有一个C#等同于groovy安全操作符吗?
var listEvents = from e in eventRepository.GetAllEvents()
select new
{
id = e.EventID,
title = e.EventTitle,
start = ToUnixTimespan(e.DateStart),
end = ToUnixTimespan(e.DateEnd),
url = "/Events/Details/" + e.EventID
};
Run Code Online (Sandbox Code Playgroud)
有关ToUnixTimespanMethod的更多信息:
private long ToUnixTimespan(DateTime date)
{
TimeSpan tspan = date.ToUniversalTime().Subtract(new DateTime(1970, 1, 1, 0, 0, 0));
return (long)Math.Truncate(tspan.TotalSeconds);
}
Run Code Online (Sandbox Code Playgroud) 执行以下存储过程时,我得到无效的对象名称dbo.Approved.对象dbo.Approved确实存在,所以这可能与我将表名作为参数传递的方式有关?
我还应该补充一点,我通过.NET执行程序或从SMSS中获取错误.
@tableName as nvarchar(100)
AS
BEGIN
EXEC('
UPDATE T1
SET T1.NPTid = dbo.Locations.NPT_ID
FROM ' + '[' + @tableName + '] As T1
INNER JOIN dbo.Locations ON T1.Where_Committed = dbo.Locations.Location_Name
')
END
Run Code Online (Sandbox Code Playgroud)
在收到Joe和JNK的帮助后编辑现在这个sproc但是我得到了错误
Msg 102, Level 15, State 1, Procedure sp_Updater, Line 14
Incorrect syntax near 'QUOTENAME'.
Run Code Online (Sandbox Code Playgroud)
新的sproc
@tableName as nvarchar(100),
@schemaName as nvarchar(20)
AS
BEGIN
EXEC('
--Update NPT
UPDATE T1
SET T1.NPTid = dbo.Locations.NPT_ID
FROM ' + QUOTENAME(@schemaName) + '.' + QUOTENAME(@tableName) + ' As T1
INNER JOIN …Run Code Online (Sandbox Code Playgroud) 假设我有一个自定义DataAnnotation属性的多个属性:
[Objective].
Run Code Online (Sandbox Code Playgroud)
我只想将记录放在我的viewmodel中,其值为'Y'并且用[Objective]的属性修饰
这种事可能吗?
我需要一个正则表达式来匹配这个模式:
例如L109878762013将匹配,而L10/987876/2013则不匹配
如果模式与上述任何标准都不匹配,并且长度不是13个字符,那么就不应该拾取它.
我需要在正则表达式中修改哪些内容[LHB][0-9]{12}才能使其正常工作?
给出以下结构
public class WorkOrderItem
{
[Key]
public long WorkOrderItemId { get; set; }
public virtual ICollection<Job> Jobs { get; set; }
}
public class Job
{
[Key]
public long JobId { get; set; }
public long? WorkOrderItemId { get; set; }
public virtual Item Item { get; set; }
public virtual Element ResultElement { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我如何获得项目列表,其中项目有ResultElementid所在的工作List<long>()?
我正在尝试检查存储过程是否存在,如果不存在,则创建它.
我收到了错误
SET附近的语法不正确.期待外在
码:
IF (NOT EXISTS (SELECT *
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_SCHEMA = 'dbo'
AND ROUTINE_NAME = 'ELMAH_GetErrorXml'))
BEGIN
CREATE PROCEDURE [dbo].[ELMAH_GetErrorXml]
(
@Application NVARCHAR(60),
@ErrorId UNIQUEIDENTIFIER
)
AS
SET NOCOUNT ON
SELECT
[AllXml]
FROM
[ELMAH_Error]
WHERE
[ErrorId] = @ErrorId
AND
[Application] = @Application
END
Run Code Online (Sandbox Code Playgroud) .net ×5
c# ×5
asp.net-mvc ×3
sql-server ×2
asp.net ×1
azure ×1
fullcalendar ×1
json ×1
linq ×1
moq ×1
mvccontrib ×1
nunit ×1
regex ×1
sql ×1
tcp ×1
unit-testing ×1