小编Bre*_*ogt的帖子

FunctionImport在实体框架4中的问题

我正在使用实体框架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 entity-framework

9
推荐指数
2
解决办法
7139
查看次数

如何在实体框架代码中首先映射不同数据类型的列和实体

我正在使用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)

c# entity-framework entity-framework-5

9
推荐指数
1
解决办法
1万
查看次数

从.gpx文件导入坐标并使用Google Maps API显示的最佳方法

我是一名山地自行车手,我跟踪我的Samsung S3 Galaxy使用程序,如EndomondoStrava.关于我的旅程的一切都保存在这两个网站上.

我有自己的个人网站,在那里我在我住的各个地方展示山路.通过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)

javascript jquery html5 google-maps google-maps-api-3

9
推荐指数
2
解决办法
1万
查看次数

为什么在Windows Server上通过.NET在.NET Core上运行ASP.NET Core

自从我听说ASP.NET Core.NET Core我一直想知道你为什么会想开发一个ASP.NET Core web application运行.NET Core.NET,如果你正在运行Windows服务器一样Windows Server 2012?我可以理解,如果您正在为其他东西开发跨平台,Ubuntu但如果您正在运行Windows服务器,那么您为什么要开发这.NET Core条路线呢?

有什么好处(如果有的话)?我觉得我在这里错过了一些东西?它是进行ASP.NETWeb开发和部署的理想方式吗?您何时想要使用完整.NETASP.NETWeb开发.NET Core框架而不是框架?

不是每个人都在为跨平台开发吗?我一直在为Windows服务器开发,并且从不需要跨平台做任何事情.我不认为我会用.NET开发任何跨平台的东西 - 我可能会使用除.NET之外的其他东西(如果我去过这条路线).

我希望有人可以帮助澄清我的困惑?

.net asp.net asp.net-mvc .net-core asp.net-core

9
推荐指数
2
解决办法
1132
查看次数

域对象验证与视图模型验证

我正在使用ASP.NET MVC 3,我正在使用FluentValidation来验证我的视图模型.我只是有点担心我可能没有走上正确的轨道.据我所知,模型验证应该在域对象上完成.现在使用MVC,您可能有多个类似需要验证的视图模型.如果域对象的属性出现在多个视图模型中会发生什么?现在您要验证两次相同的属性,它们甚至可能不同步.所以如果我有一个用户域对象,那么我想对这个对象进行验证.现在如果我有UserAViewModel和UserBViewModel会发生什么,所以现在需要进行多次验证.

在我的新闻类中,我有一个名为Title的属性,这是一个必填字段.在我的视图模型中,我还有一个Title属性,我使用AutoMapper来映射News和NewsViewModel.所以这个验证发生了两次.何时进行域模型验证以及何时进行视图模型验证?

上面的场景只是一个例子,所以请不要批评它.

validation asp.net-mvc fluentvalidation

8
推荐指数
1
解决办法
1939
查看次数

向实体框架添加其他属性4首先编码CTP 5实体

我正在使用ASP.NET MVC 3Entity 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

8
推荐指数
1
解决办法
1万
查看次数

使用ValueInjecter在具有不同属性名称的对象之间进行映射

如何将属性从对象映射到具有不同属性名称的另一个对象?

我有一个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

8
推荐指数
1
解决办法
2808
查看次数

数据过滤是否发生在控制器,服务或存储库层中?

我在用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

8
推荐指数
2
解决办法
1870
查看次数

ASP.NET MVC路由无法正常工作

我的路由无法正常工作.我定义了以下路线:

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)

c# asp.net asp.net-mvc asp.net-mvc-4

8
推荐指数
1
解决办法
2万
查看次数

没有实体框架的ASP.NET标识

是否可以在不使用实体框架的情况下使用新的ASP.NET标识,而是使用您自己的方法?

我有一个MVC项目,它使用普通的ADO.NET进行数据访问.我想实现ASP.NET标识,但我想继续使用ADO.NET和存储过程.这就是我选择的方式.

.net c# asp.net asp.net-mvc asp.net-identity

8
推荐指数
2
解决办法
3904
查看次数