milosev.com
  • Home
    • List all categories
    • Sitemap
  • Downloads
    • WebSphere
    • Hitachi902
    • Hospital
    • Kryptonite
    • OCR
    • APK
  • About me
    • Gallery
      • Italy2022
      • Côte d'Azur 2024
    • Curriculum vitae
      • Resume
      • Lebenslauf
    • Social networks
      • Facebook
      • Twitter
      • LinkedIn
      • Xing
      • GitHub
      • Google Maps
      • Sports tracker
    • Adventures planning
  1. You are here:  
  2. Home

Composite primary key

Details
Written by: Stanko Milosev
Category: ASP.NET
Published: 21 May 2013
Last Updated: 21 May 2013
Hits: 12387

Definition:

Primary key is such an attribute which uniquely identify the record. Some times we needs more then one keys to find the specific record such scenario in which more than one keys are used to find the specific data is called the composite primary key.

From here.

Error:

Unable to determine composite primary key ordering for type 'MvcApplication7.Models.MyMaster'. Use the ColumnAttribute or the HasKey method to specify an order for composite primary keys.

Solution:

public class MyMaster
{
	[Key]
	[Column(Order = 0)]
	public int myField1 { get; set; }
	[Key]
	[Column(Order = 1)]
	public int myField2 { get; set; }
	public string Username { get; set; }
}

Debug IIS express

Details
Written by: Stanko Milosev
Category: ASP.NET
Published: 14 April 2013
Last Updated: 14 April 2013
Hits: 7424

Just start your application without debugging:

Then just attach to process as you debug normally IIS (w3w9.exe)

Debug JavaScript in Visual Studio 2010

Details
Written by: Stanko Milosev
Category: ASP.NET
Published: 04 March 2013
Last Updated: 13 March 2013
Hits: 6406

Use the JavaScript debugger keyword in IE.

function onClickRow(detailUrl) {
debugger;
}

Copy / paste from here.

Same thing should work for Chrome, if it doesn't then rebuild your project.

Playing with XML

Details
Written by: Stanko Milosev
Category: MVC 4
Published: 22 October 2013
Last Updated: 15 September 2020
Hits: 5995
  • xml

I had XML like this:

<?xml version="1.0" encoding="utf-8"?>
<ArrayOfmyNode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <myNode>
    <Name>Echo one</Name>
    <Category>Reporting</Category>
    <Id>1</Id>
    <Workflow>
      <Application>Reporting</Application>
      <Name>EchoOne</Name>
      <Configuration>
        <ConfigItem>
          <Key>ReportSuccessToAddress</Key>
          <Value>echoOneSuccess - at - echoone.com</Value>
        </ConfigItem>
        <ConfigItem>
          <Key>ReportErrorToAddress</Key>
          <Value>echoOneError - at - echoone.com</Value>
        </ConfigItem>
        <ConfigItem>
          <Key>ReportSuccessCcAddress</Key>
          <Value>echoOneSuccessCc - at - echoone.com</Value>
        </ConfigItem>
      </Configuration>
    </Workflow>
  </myNode>
  <myNode>
    <Name>Echo two</Name>
    <Category>Reporting</Category>
    <Id>2</Id>
    <Workflow>
      <Application>Reporting</Application>
      <Name>EchoTwo</Name>
      <Configuration>
        <ConfigItem>
          <Key>ReportSuccessToAddress</Key>
          <Value>echoTwoSuccess - at - echoone.com</Value>
        </ConfigItem>
        <ConfigItem>
          <Key>ReportErrorToAddress</Key>
          <Value>echoTwoError - at - echoone.com</Value>
        </ConfigItem>
        <ConfigItem>
          <Key>ReportSuccessCcAddress</Key>
          <Value>echoTwoSuccessCc - at - echoone.com</Value>
        </ConfigItem>
      </Configuration>
    </Workflow>
  </myNode>
 </ArrayOfmyNode>

Instead of - at - should be @, I am having problems with spambot protection :)

And I wanted to extract all e-mails from ReportSuccessToAddress, ReportErrorToAddress and ReportSuccessCcAddress nodes.

Model I implemented as array in my view:

@model PlayingWithXmlInAspMvc.Models.PlayingWithXmlModel[]

Then I had to load XML from file:

XElement linqMyNodes = XElement.Load(Request.Url.AbsoluteUri + "PlayingWithXml.xml"); 

If you need to load XML from string, then use parse.

I have selected all myNode nodes in the XML:

IEnumerable<XElement> myLinqNodes = from myNodes in linqMyNodes.Elements("myNode") select myNodes;

After that in controller I have created model like:

PlayingWithXmlModel[] myModel = new PlayingWithXmlModel[myLinqNodes.Count()];

Extract every ConfigItem element for each myNode:

foreach (var myLinqNode in myLinqNodes)
{
	myModel[i] = new PlayingWithXmlModel();
	var Configurations = from configuration in myLinqNode.Elements("Workflow").Elements("Configuration").Elements("ConfigItem")
						 select configuration;
}

In previous line there is myModel[i] = new PlayingWithXmlModel(), which means that for every item in array you have to create object, in my case model.

Now I need to extract addresses from Configurations:

foreach (var Configuration in Configurations)
{
	if (Configuration.Element("Key") != null)
	{
		switch (Configuration.Element("Key").Value)
		{
			case "ReportSuccessToAddress":
				myModel[i].ReportSuccessToAddress = Configuration.Element("Value").Value.Replace(" ", string.Empty);
				break;
			case "ReportErrorToAddress":
				myModel[i].ReportErrorToAddress = Configuration.Element("Value").Value.Replace(" ", string.Empty);
				break;
			case "ReportSuccessCcAddress":
				myModel[i].ReportSuccessCcAddress = Configuration.Element("Value").Value.Replace(" ", string.Empty);
				break;
		}
	}
}

Where .Replace(" ", string.Empty) I needed to delete spaces in values.

On the end I will send model to my view like:

return View(myModel);

This article is just to show few examples of LinqToXml and passing model as array to the view. One small example you can see here.

  1. Routing
  2. SQL Compact - create table
  3. SQL Compact
  4. Master - detail with datatables

Subcategories

C#

Azure

ASP.NET

JavaScript

Software Development Philosophy

MS SQL

IBM WebSphere MQ

MySQL

Joomla

Delphi

PHP

Windows

Life

Lazarus

Downloads

Android

CSS

Chrome

HTML

Linux

Eclipse

Page 43 of 168

  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47