我正在使用实体框架4.
我有一个存储过程只更新我的表中的一个值,即应用程序状态ID.所以我创建了一个如下所示的存储过程:
ALTER PROCEDURE [dbo].[UpdateApplicationState]
(
@ApplicationID INT,
@ApplicationStateID INT
)
AS
BEGIN
UPDATE
[Application]
SET
ApplicationStateID = @ApplicationStateID
WHERE
ApplicationID = @ApplicationID;
END
Run Code Online (Sandbox Code Playgroud)
我创建了一个名为UpdateApplicationState的函数导入.我最初将其返回类型设置为null,但之后它不是在上下文中创建的.所以我将其返回类型更改为int.现在它是在上下文中创建的.从我的存储过程中返回一些东西是明智的吗?
这是我的ApplicationRepository类中的方法:
public void UpdateApplicationState(int applicationID, int applicationStateID)
{
var result = context.UpdateApplicationState(applicationID, applicationStateID);
}
Run Code Online (Sandbox Code Playgroud)
以下是我在该视图中对此方法的调用代码:
applicationRepository.UpdateApplicationState(id, newApplicationStateID);
Run Code Online (Sandbox Code Playgroud)
当我运行它然后我收到以下错误:
商店数据提供程序返回的数据读取器没有足够的列用于请求的查询.
有什么想法/建议我能做些什么才能让它发挥作用?
谢谢
我正在使用Entity Framework 5 - Code.
我有一个数据库,我连接到已经存在一段时间了(我没有创建它).有一张叫做的桌子T_Customers.它包含所有客户的列表.它具有以下结构(仅部分显示):
Customer_id | numeric (5, 0) | auto increment | not null (not set as primary key)
FName | varchar(50) | not null
LName | varchar(50) | not null
Run Code Online (Sandbox Code Playgroud)
我的Customer班级:
public class Customer : IEntity
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我的IEntity界面:
public interface IEntity
{
int Id { get; set; } …Run Code Online (Sandbox Code Playgroud) 我是一名山地自行车手,我跟踪我的Samsung S3 Galaxy使用程序,如Endomondo和Strava.关于我的旅程的一切都保存在这两个网站上.
我有自己的个人网站,在那里我在我住的各个地方展示山路.通过GPS使用Endomondo和Strava I 记录的路径数据已导出到.gpx文件中.我需要.gpx文件中的这些数据显示在我自己的个人网站上.所以我开始寻找一个解决方案,使用Google Maps API和导入.gpx文件而不使用外部工具.
我努力寻找答案.我发现这篇文章中的人jQuery用来提取XML文件中的数据并在他的谷歌地图上显示这些数据:http:
//www.jacquet80.eu/blog/post/2011/02/Display-GPX-tracks -使用-谷歌-地图的API
这是如何将其实现到我的HTML标记中:
<script>
function initialize() {
var route1Latlng = new google.maps.LatLng(-33.7610590,18.9616790);
var mapOptions = {
center: route1Latlng,
zoom: 11,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
$.ajax({
type: "GET",
url: "gpx/my_route.gpx",
dataType: "xml",
success: function (xml) {
var points = [];
var bounds = new google.maps.LatLngBounds();
$(xml).find("trkpt").each(function () {
var lat = …Run Code Online (Sandbox Code Playgroud) 自从我听说ASP.NET Core和.NET Core我一直想知道你为什么会想开发一个ASP.NET Core web application运行.NET Core了.NET,如果你正在运行Windows服务器一样Windows Server 2012?我可以理解,如果您正在为其他东西开发跨平台,Ubuntu但如果您正在运行Windows服务器,那么您为什么要开发这.NET Core条路线呢?
有什么好处(如果有的话)?我觉得我在这里错过了一些东西?它是进行ASP.NETWeb开发和部署的理想方式吗?您何时想要使用完整.NET的ASP.NETWeb开发.NET Core框架而不是框架?
不是每个人都在为跨平台开发吗?我一直在为Windows服务器开发,并且从不需要跨平台做任何事情.我不认为我会用.NET开发任何跨平台的东西 - 我可能会使用除.NET之外的其他东西(如果我去过这条路线).
我希望有人可以帮助澄清我的困惑?
我正在使用ASP.NET MVC 3,我正在使用FluentValidation来验证我的视图模型.我只是有点担心我可能没有走上正确的轨道.据我所知,模型验证应该在域对象上完成.现在使用MVC,您可能有多个类似需要验证的视图模型.如果域对象的属性出现在多个视图模型中会发生什么?现在您要验证两次相同的属性,它们甚至可能不同步.所以如果我有一个用户域对象,那么我想对这个对象进行验证.现在如果我有UserAViewModel和UserBViewModel会发生什么,所以现在需要进行多次验证.
在我的新闻类中,我有一个名为Title的属性,这是一个必填字段.在我的视图模型中,我还有一个Title属性,我使用AutoMapper来映射News和NewsViewModel.所以这个验证发生了两次.何时进行域模型验证以及何时进行视图模型验证?
上面的场景只是一个例子,所以请不要批评它.
我正在使用ASP.NET MVC 3和Entity Framework code first CTP 5.我想知道是否可以添加未映射到表列的其他属性?
我有一个新闻类,它定义如下:
public class News : Entity
{
public int NewsId { get; set; }
public string Title { get; set; }
public string Body { get; set; }
public bool Active { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我的数据库上下文类:
public class MyContext : DbContext
{
public DbSet<News> Newses { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在实体类中,我有一个定义为的属性:
public IList<RuleViolation> RuleViolations { get; set; }
Run Code Online (Sandbox Code Playgroud)
我还没有对这部分进行编码,但我希望在验证对象时将所有破坏的规则添加到此列表中.我得到的错误是:
One or more validation errors were detected during …Run Code Online (Sandbox Code Playgroud) asp.net asp.net-mvc entity-framework entity-framework-4 asp.net-mvc-3
如何将属性从对象映射到具有不同属性名称的另一个对象?
我有一个Product看起来像这样的课程:
public class Product : IEntity
{
public int Id { get; set; }
public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
视图模型看起来像:
public class ProductSpecificationAddViewModel
{
public int ProductId { get; set; }
public string ProductName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我需要做以下映射:
Product.Id => ProductSpecificationAddViewModel.ProductId
Product.Name =>ProductSpecificationAddViewModel.ProductName
Run Code Online (Sandbox Code Playgroud)
这是我的行动方法:
public ActionResult Add(int id)
{
Product product = productService.GetById(id);
// Mapping
//ProductSpecificationAddViewModel viewModel = new ProductSpecificationAddViewModel();
//viewModel.InjectFrom(product);
return View(viewModel);
}
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
mapping asp.net-mvc asp.net-mvc-3 asp.net-mvc-2 valueinjecter
我在用ASP.NET MVC 3.我按以下顺序获取我的视图数据:
Controller -> Service Layer -> Repository
Run Code Online (Sandbox Code Playgroud)
在我的存储库中,我有一个GetAll方法,它可以返回特定对象的所有记录,例如Category.
因此,如果我需要所有类别的列表,那么在我的控制器中我会有类似的东西:
IEnumerable<Category> categories = categoryService.GetAll();
Run Code Online (Sandbox Code Playgroud)
在服务层我会有类似的东西:
public IEnumerable<Category> GetAll()
{
return categoryRepository.GetAll();
}
Run Code Online (Sandbox Code Playgroud)
现在我需要知道我在哪里开始过滤数据?它可以在这3层中的任何一层中完成,还是只需要在存储库层中?让我们说我需要所有的父类别.我是否拥有.GetAll.Where(x => x.ParentCategoryId == null);控制器,服务层或存储库层?
在我的控制器中是否有这样的情况:
IEnumerable<Category> categories = categoryService.GetParentCategories();
Run Code Online (Sandbox Code Playgroud)
在我的服务层,我可以:
public IEnumerable<Category> GetParentCategories()
{
return categoryRepository.GetAll.Where(x => x.ParentCategoryId == null);
}
Run Code Online (Sandbox Code Playgroud)
或者我的服务层必须如下所示:
public IEnumerable<Category> GetParentCategories()
{
return categoryRepository.GetParentCategories();
}
Run Code Online (Sandbox Code Playgroud)
然后在我的存储库层中,像这样:
public IEnumerable<Category> GetParentCategories()
{
return GetAll()
.Where(x => x.ParentCategoryId == null);
}
Run Code Online (Sandbox Code Playgroud)
请有人帮助澄清我的这种困惑.可能有不同的情况.我可能会带回所有具有活动状态的类别.我可能会带回非活动状态的类别.那我每个都需要一个方法吗?
c# asp.net-mvc repository entity-framework-4.1 asp.net-mvc-3
我的路由无法正常工作.我定义了以下路线:
routes.MapRoute(
name: "CategoryDetails",
url: "{seoName}",
defaults: new { controller = "Category", action = "Details" }
);
routes.MapRoute(
name: "ContactUs",
url: "contact",
defaults: new { controller = "Home", action = "Contact" }
);
routes.MapRoute(
name: "AboutUs",
url: "about",
defaults: new { controller = "Home", action = "About" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)
当我点击关于我们或联系我们的链接时,它会转到类别控制器中的详细操作方法.
这是关于我们的标记,请联系我们链接:
@Html.ActionLink("About", "About", "Home")
@Html.ActionLink("Contact", "Contact", "Home")
Run Code Online (Sandbox Code Playgroud)
我的类别控制器的详细操作方法:
public ActionResult Details(string …Run Code Online (Sandbox Code Playgroud) 是否可以在不使用实体框架的情况下使用新的ASP.NET标识,而是使用您自己的方法?
我有一个MVC项目,它使用普通的ADO.NET进行数据访问.我想实现ASP.NET标识,但我想继续使用ADO.NET和存储过程.这就是我选择的方式.
asp.net-mvc ×7
asp.net ×4
c# ×4
.net ×2
.net-core ×1
asp.net-core ×1
entity ×1
google-maps ×1
html5 ×1
javascript ×1
jquery ×1
mapping ×1
repository ×1
validation ×1