﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>StrataFrame Forum » StrataFrame Application Framework - V1 » Issues  » PK identification in Mapper</title><generator>InstantForum 2017-1 Final</generator><description>StrataFrame Forum</description><link>http://forum.strataframe.net/</link><webMaster>StrataFrame Forum</webMaster><lastBuildDate>Fri, 11 Sep 2026 07:15:25 GMT</lastBuildDate><ttl>20</ttl><item><title>PK identification in Mapper</title><link>http://forum.strataframe.net/FindPost326.aspx</link><description>I have a 2 database tables defined as in erd.jpg. In the mapper (see jpg's) each table has only one field flagged with the key icon. I am confused.</description><pubDate>Thu, 15 Dec 2005 17:17:05 GMT</pubDate><dc:creator>Daniel Essin</dc:creator></item><item><title>RE: PK identification in Mapper</title><link>http://forum.strataframe.net/FindPost339.aspx</link><description>When you configure your tables with a guid primary key, are you using a Char(32) data type and putting the guid in that, or are you using the UNIQUEIDENTIFIER data type and storing the guids there?  Because if you're using the Char(32) type, you might consider changing them to the UNIQUEIDENTIFIER because it's half the size and optimized for guids.  Also your field properties on the business objects would return a System.Guid rather than a string.  Just a thought.</description><pubDate>Thu, 15 Dec 2005 17:17:05 GMT</pubDate><dc:creator>StrataFrame Team</dc:creator></item><item><title>RE: PK identification in Mapper</title><link>http://forum.strataframe.net/FindPost338.aspx</link><description>Not a problem :)</description><pubDate>Thu, 15 Dec 2005 17:13:54 GMT</pubDate><dc:creator>StrataFrame Team</dc:creator></item><item><title>RE: PK identification in Mapper</title><link>http://forum.strataframe.net/FindPost335.aspx</link><description>I can do that. Most of my tables use a string guid as the key. There are only a few that have multi-part keys. Converting them will not be too big a deal.&lt;br&gt;
&lt;br&gt;
Thanks.</description><pubDate>Thu, 15 Dec 2005 15:50:18 GMT</pubDate><dc:creator>Daniel Essin</dc:creator></item><item><title>RE: PK identification in Mapper</title><link>http://forum.strataframe.net/FindPost334.aspx</link><description>I think your best bet is to add an ID column to your table as an integer or guid type.  Set the primary key on it, and let it be a the index.  Then, define a UNIQUE constraint on your combination of 3 columns.  The INSERTs, UPDATEs and DELETEs will be faster with the single part primary key and you will still have the UNIQUE constraint on the current 3-part primary key setup.</description><pubDate>Thu, 15 Dec 2005 08:27:29 GMT</pubDate><dc:creator>StrataFrame Team</dc:creator></item><item><title>RE: PK identification in Mapper</title><link>http://forum.strataframe.net/FindPost330.aspx</link><description>StrataFrame is only plumbed to handle single-part primary keys.  So, when you define the table in the database, and the Business Object Mapper checks the sysobjects table for the primary key, it will only pull the first column defined in the primary key.  A great deal of functionality in StrataFrame would become infinitely more complex with complex primary keys (SeekToPrimaryKey, NavigateByPrimaryKey, parent-child relationships, etc.)  A large portion of the latest update was aimed at abstracting the data access to facilitate easier changes and allow a StrataFrame developer to write their own data access, so StrataFrame could certainly be designed to support it.</description><pubDate>Wed, 14 Dec 2005 23:37:13 GMT</pubDate><dc:creator>StrataFrame Team</dc:creator></item><item><title>RE: PK identification in Mapper</title><link>http://forum.strataframe.net/FindPost327.aspx</link><description>Also, if the relationships are not captured in the mapper, what keeps the apps in sync with the way the constraints are defined in the database?</description><pubDate>Wed, 14 Dec 2005 19:51:57 GMT</pubDate><dc:creator>Daniel Essin</dc:creator></item></channel></rss>