|
|
I don't think there's any easy way to identify the relationships and produce a reliable order for deleting records when cascade delete is turned off.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Richard Deeming wrote: I don't think there's any easy way to identify the relationships and produce a reliable order for deleting records when cascade delete is turned off. Why not? I'm not sure if I'm overlooking something here (I have next to no experience with EF) but wouldn't it be "rather easily" be possible to discover the relationships by reflecting on all entity-classes, building a dependency graph from it, and then sorting it topologically to get the delete-order? (Would get nasty though with cyclic dependencies.)
If the brain were so simple we could understand it, we would be so simple we couldn't. — Lyall Watson
|
|
|
|
|
The issue is with discovering the relationships between the classes. I suspect you'd need to dig in to the EDM model[^], which is rather complicated.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
|
It should work, providing there aren't multiple paths by which a row could be deleted. If there are, then you'll get an error from SQL:
Introducing FOREIGN KEY constraint '...' on table '...' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.
You'll obviously need to update the database to enable cascade delete. Assuming you're using migrations[^], you should be able to do that without dropping the database.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Hi,
In windows form application with c#, I want to play webm file in form.
How can I do this?
Thanks.
|
|
|
|
|
Various suggestions here:
Play WebM video in Windows form[^]
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
This code is working properly
DataEnvironment1.Commands("Command1 ").CommandType = adCmdText
DataEnvironment1.Commands("Command1 ").CommandText = "Select * from TenderBlocksCalcolations where ProjectsCode = '" & txtProjectCode.Text & "'"
But when i make grouping its not works
DataEnvironment1.Commands("Command1_Grouping").CommandType = adCmdText
DataEnvironment1.Commands("Command1_Grouping").CommandText = "Select * from TenderBlocksCalcolations where ProjectsCode = '" & txtProjectCode.Text & "'"
Can you give any idea?
|
|
|
|
|
|
Start by learning what SQL Injection is...and don't do that at all.
Do not concatenate strings to build a SQL command. It leaves you wide open to accidental or deliberate SQL Injection attack which can destroy your entire database. Use Parametrized queries instead.
And don't post VB code in a C# forum.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
I am C# WPF developer, Currently in my company I have option to work on ASP.Net MVC or Xamarin. Please suggest me that which one should I choose for better and future prospects.
|
|
|
|
|
If we could tell the future we would be rich men (and women), lying on a tropical beach, rather than working on these forums.
|
|
|
|
|
I mean which one will be good for career growth.
|
|
|
|
|
Inpossible to predict. Choose whichever one you are most interested in. Career growth tends to come through hard work.
|
|
|
|
|
|
thanks bro...
|
|
|
|
|
Hi , i have to write a genetic algorithm about solving a puzzle. it is just a simple puzzle there is no district i just need it to write it with G.A and should use binary coding . Please help me how should i code it with binary and how i create first generation and mutation. thanks for help.
|
|
|
|
|
|
Dear Friends,
I have a new requirement from lead, that need to read data from microsoft dynamic ax 2012 to update in local application database.
Ex: Need to read product master from microsoft dynamic ax 2012 software and update this product details into my local erp software.
Also purchase order from local erp need to upload into microsoft dynamic ax 201.
Please suggest me how to do this...
|
|
|
|
|
|
Hi,
I a trying to display a view (MVC3) from two tables using a linq query.
my problem is: When I try to display the view, error:
The model item passed into the dictionary is of type 'System.Collections.Generic.List`1[<>f__AnonymousType0`2[LounasAuto.Models.Car,LounasAuto.Models.Cost]]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable`1
My Controller:
public ViewResult Index()
{
var carCostLinq = from e in db.Cars
join q in db.Costs on e.CarId equals q.CarId
select new {Car = e, Cost = q};
return View(carCostLinq.ToList());
}
first model:
namespace LounasAuto.Models
{
using System;
using System.Collections.Generic;
public partial class Car
{
public Car()
{
this.Locations = new HashSet<Location>();
}
public int CarId { get; set; }
public string Plate { get; set; }
public string ModelDesc { get; set; }
public string Description { get; set; }
public int Year { get; set; }
public string Color { get; set; }
public string Photo { get; set; }
public virtual ICollection<Location> Locations { get; set; }
public virtual Cost Cost { get; set; }
}
}
second model:
namespace LounasAuto.Models
{
using System;
using System.Collections.Generic;
public partial class Cost
{
public int CarId { get; set; }
public decimal DailyCost { get; set; }
public virtual Car Car { get; set; }
}
}
class(model) for show data from both (Cars and Cost)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace LounasAuto.Models
{
public class CarCost
{
public Car car { get; set; }
public Cost cost { get; set; }
}
}
and finally my Index.cshtmlview:
@{
ViewBag.Title = "Index";
}
<h2>Index -- partial _CarList </h2>
@Html.Partial("_CarList")
and partial _CarList view:
@model IEnumerable<LounasAuto.Models.CarCost>
@using System.Linq
<table>
<tr>
<th>
Plate
</th>
<th>
ModelDesc
</th>
<th>
Description
</th>
<th>
Year
</th>
<th>
Color
</th>
<th>
Photo
</th>
<th></th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.car.Plate)
</td>
<td>
@Html.DisplayFor(modelItem => item.car.ModelDesc)
</td>
<td>
@Html.DisplayFor(modelItem => item.car.Description)
</td>
<td>
@Html.DisplayFor(modelItem => item.car.Year)
</td>
<td>
@Html.DisplayFor(modelItem => item.car.Color)
</td>
<td>
@Html.DisplayFor(modelItem => item.car.Photo)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = item.car.CarId }) |
@Html.ActionLink("Details", "Details", new { id = item.car.CarId }) |
@Html.ActionLink("Delete", "Delete", new { id = item.car.CarId }) ||
@Html.ActionLink("Cost", "Cost", new { id = item.cost.CarId,
plate = item.car.Plate,
modelDesc = item.car.ModelDesc,
description = item.car.Description,
year = item.car.Year,
color = item.car.Color,
all = item.car.Plate + "\n" + item.car.ModelDesc + "\n" + item.car.Description + "\n" + item.car.Year + "\n" + item.car.Color
})
</td>
</tr>
}
</table>
<p>
@Html.ActionLink("Create New", "Create")
</p>
|
|
|
|
|
Modify your Action Method like following
public ViewResult Index()
{
var carCostLinq = from e in db.Cars
join q in db.Costs on e.CarId equals q.CarId
select new CarCost {Car = e, Cost = q};
return View(carCostLinq.ToList());
}
|
|
|
|
|
Now,I got:
c:\Users\dahmanib\Documents\Visual Studio 2010\Projects\LounasAuto\LounasAuto\Views\Shared\_CarList.cshtml(32): error CS1061: 'LounasAuto.Models.CarCost' does not contain a definition for 'car' and no extension method 'car' accepting a first argument of type 'LounasAuto.Models.CarCost' could be found (are you missing a using directive or an assembly reference?)
|
|
|
|
|
You can't pass anonymous types to views as models (or anywhere else for that matter, they can only be used in the functions they are defined). You need to convert the data you get back via Linq into a list of concrete classes that you can pass to your view. You have a CarCost class but you're not using it, this code
var carCostLinq = from e in db.Cars
join q in db.Costs on e.CarId equals q.CarId
select new {Car = e, Cost = q};
returns an anonymous type (new { .. }). You need to return CarCost instead, as the other member advised
var carCostLinq = from e in db.Cars
join q in db.Costs on e.CarId equals q.CarId
select new CarCost {car = e, cost = q};
I think the reason that member's code didn't work for you was a case issue, your properties are "car" and "cost" rather than "Car" and "Cost". I'd advise you take some time to get to know .net fundamentals such as types, linq etc, as you really should be able to sort simple case issues yourself if you actually understand what it is you're doing.
|
|
|
|