一些背景知识:我们开发了客户端MS Access应用程序的ASP.NET MVC端口.应用程序使用/使用MySQL作为ODBC的数据存储.我们遇到的是,如果客户端使用MS Access应用程序捕获新记录,并且在MVC应用程序捕获新记录后不久,MVC应用程序的记录似乎会覆盖Access应用程序创建的最后一条记录,如以及创建第二条记录.
实际上,Access应用程序的记录最初看起来像这样
ID | NAME | SURNAME
1 | joe | Schmoe
Run Code Online (Sandbox Code Playgroud)
但是,当MVC应用程序创建其中一条记录时,会发生以下情况:
ID | NAME | SURNAME
1 | james | smith
2 | james | smith
Run Code Online (Sandbox Code Playgroud)
MVC应用程序似乎覆盖了Access捕获的最后一条记录,以及创建新记录.
我们使用Entity Framework 5.我们所做的就是保存记录
var record = new Person(){NAME = "james", SURNAME = "smith"};
db.People.Add(record);
db.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
只有在客户端使用Access应用程序时才会发生此类事情.并且只有当最后添加的记录来自Access应用程序且新记录来自MVC/EF应用程序时才会发生.
任何输入将不胜感激.
通过Access捕获一系列记录时,不会发生这种情况.通过Entity Framework捕获一系列记录时,它不会发生.首先通过Entity Framework和THEN Access捕获时,不会发生这种情况.它仅在序列为Access first,Entity Framework second时发生.
如何为LINQ查询构建通用的EPPlus Spreadsheet函数?
更新:需要专门用于ASP.NET MVC应用程序.
请考虑以下部分视图代码段
List<sellingPrice> Prices = ViewBag.Prices;
foreach (var mgmp in mg.messageGroup.messageGroupMessagePLUs)
{
if (Prices.Any(x => x.pluId == mgmp.messagePLU.plu.pluId))
{
//do stuff
}
}
Run Code Online (Sandbox Code Playgroud)
对于db中的特定产品,该行
if (Prices.Any(x => x.pluId == mgmp.messagePLU.plu.pluId))
Run Code Online (Sandbox Code Playgroud)
抛出System.NullReferenceException.检查代码显示mgmp 是一个对象,而价格包含元素.但是,x的值为null.现在,我的印象是我只是测试是否存在满足我的测试的任何"x",而不是要求它返回"x".
这是一个非常恼人的问题.希望有人可以指出真正明显的解决方案.
我有一个Person实体类型,如下所示:
public partial class Person
{
public int PersonID { get; set; }
public byte Gender { get; set; }
public string IDNumber { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
当我为了将他保存到db而创建一个新Person时,主键PersonID设置为0,而不是null.
代码:
var theNewGuy = new MyEntities.Person();
Run Code Online (Sandbox Code Playgroud)
就在这一行之后,NewGuy.PersonID = 0.问题是,如何告诉它插入一个新的Person并为其分配下一个可用的主键?显然,我不希望它为0,但是在数据库中已经存在PersonID为0的Person;
保存代码:
Velo.People.Add(theNewGuy);
Velo.SaveChanges();//throws error
Run Code Online (Sandbox Code Playgroud)
抛出异常: 违反PRIMARY KEY约束'PK_PERSON'.无法在对象'dbo.Person'中插入重复键.重复键值为(0).该语句已终止.
可能重复:
EF4 - 所选存储过程不返回任何列
我有一个存储过程,它填充#temp表,对其记录执行操作,然后选择记录.
问题是,当我尝试创建函数导入并单击[获取列信息]时,结果窗格显示消息"所选存储过程或函数不返回任何列".
现在,我知道它确实返回了列,因为如果我直接从db运行它,我会得到预期的结果集.
存储过程可以总结如下:
SELECT P.PersonID, P.Surname, P.NickName, P.DateofBirth
INTO #SeriesCompleted
FROM
Table1 T (NOLOCK)
INNER JOIN
Table2 P (NOLOCK) ON T.PID = P.PID
;
Select r.PID, SUM(rt.Distance) 'Distance'
INTO #Distance
FROM
#SeriesCompleted sc
inner join table3 rsr (NOLOCK) on rsr.SeriesId = sc.SeriesId
inner join table4 r (NOLOCK) on r.PID = sc.PID
inner join table5 rt (NOLOCK) on rt.RouteID = r.RouteID
GROUP BY r.PID;
UPDATE #SeriesCompleted
SET Distance = d.Distance
FROM #SeriesCompleted sc
INNER JOIN #Distance …Run Code Online (Sandbox Code Playgroud) 我需要对一个数字集执行一些统计计算,我需要计算的其中一项是中值绝对偏差。我得到了一个 ISO 标准,它告诉我的是
我不知道如何处理这些信息,因为我没有接受过任何统计数学培训。因此,我无法将上述内容转换为 C# 函数。
我无法在线找到有关我的问题的高质量信息,所以我来到了这里。我想做的是在Google Maps的DrawingManager的控件中添加一个自定义按钮。
下面是添加通常的opiton组的代码。但是我不知道如何向中添加自己的按钮之一drawingModes。
var drawingManager = new google.maps.drawing.DrawingManager({
//drawingMode: google.maps.drawing.OverlayType.MARKER,
drawingControl: true,
drawingControlOptions: {
position: google.maps.ControlPosition.TOP_CENTER,
drawingModes: [
google.maps.drawing.OverlayType.MARKER,
google.maps.drawing.OverlayType.CIRCLE,
google.maps.drawing.OverlayType.POLYGON,
google.maps.drawing.OverlayType.POLYLINE,
google.maps.drawing.OverlayType.RECTANGLE
//how do I add my special little button here?
]
}
});
drawingManager.setMap(map);
Run Code Online (Sandbox Code Playgroud) 在OrchardCMS v1.8.1.0中,单击内容链接(/ Admin/Contents/List)文件名Modules\Orchard.MediaLibrary\Views\Parts\Document.SummaryAdmin.cshtml时收到以下错误消息:
你调用的对象是空的.
Source Error:
Line 3: @{
Line 4: DocumentPart documentPart = Model.ContentPart;
//The following line throws the exception
Line 5: var mediaPart = ((ContentItem)Model.ContentItem).As<MediaPart>();
Line 6: }
Line 7:
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪:
[NullReferenceException: Object reference not set to an instance of an object.]
ASP._Page_Modules_Orchard_MediaLibrary_Views_Parts_Document_SummaryAdmin_cshtml.Execute() in c:\inetpub\wwwroot\Modules\Orchard.MediaLibrary\Views\Parts\Document.SummaryAdmin.cshtml:5
System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +279
System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +124
System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +124
System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model, ViewDataDictionary viewData) +146
Orchard.DisplayManagement.Descriptors.ShapeTemplateStrategy.ShapeTemplateBindingStrategy.Render(ShapeDescriptor shapeDescriptor, DisplayContext displayContext, HarvestShapeInfo harvestShapeInfo, HarvestShapeHit harvestShapeHit) in z:\Builds\work\d1eb156ccc3cb14\src\Orchard\DisplayManagement\Descriptors\ShapeTemplateStrategy\ShapeTemplateBindingStrategy.cs:149
Orchard.DisplayManagement.Descriptors.ShapeTemplateStrategy.<>c__DisplayClass28.<Discover>b__15(DisplayContext …Run Code Online (Sandbox Code Playgroud) 我可能错过了一些非常简单的东西,但是我想弄清楚如何计算在将X除以Y之后剩下的东西.我不是指余数,我的意思是,例如,如果我将100除以7 => 6组15 +一组10,我怎么得到10?
我没有要显示的代码,因为我不知道从哪里开始.X和Y都是整数.
c# ×5
asp.net-mvc ×2
math ×2
asp.net ×1
c#-4.0 ×1
epplus ×1
generic-list ×1
javascript ×1
linq ×1
ms-access ×1
mysql ×1
odbc ×1
orchardcms ×1
statistics ×1