»
 

Go Back   ResellerRatings Store Ratings > ResellerRatings Forums > Tech Support

Reply
 
LinkBack Thread Tools Display Modes
Old 08-29-2003, 04:31 AM   #1 (permalink)
Registered User
 
Join Date: Oct 2002
Posts: 64
gicio is on a distinguished road
Kids O/R Mapping tool like Apple has.....for .NET?!?!

Hi!

I post this text 1 year ago. But no one really could give
me an answer. This is the text that I posted long time ago:


I have a fundamental question about
The way .NET handles the object orientated way of
Persistence. I am coming from JAVA and WebObjects (Apple)
World and I am looking for a convenient way of working
with objects without seeing any SQL statements only
objects. I have used that approach for years on the
WebObjects Platform (Enterprise Object Framework) and in
Java recently (Container Managed Persistence). I am
looking for something like that in the Microsoft world.

As far as I understand Microsoft does not distinguish
between the Object Model and the Relational Model. The
main difference is that the Object model allows n : m
relationships and the Relational does not allow them. Here
a small example to visualize the problem:

Example:
There is a Patient object with following Attributes

String patientGUID;
String name;
Int age;
Hashtable diseases; (or some other Container like
Collection or Array)


And there is a Disease Object

String diseaseGUID;
String name;


In the object Model there is relation between Patient and
Disease where the patient has his diseases but on the
other site one disease can belong to 1..* patients. (n :
m)

That n : m relationship can not exist within a relational
database without a link table that contains the
connections between the tables: Patient and Disease.

Now, I would like to connect the object Model containing
TWO Entities (Patient, Disease) with the relational
database (containing THREE tables). Then I want to work
with my objects; e.g. create new diseases connect them to
existing patients by putting the diseases into the array
or create new Patients and connect them with already
existing diseases or just change a Patients name. When I
am finished I just want to say SAVECHANGES and the
database is updated accordingly including all link table
entries.

So all I have to care about are my objects and the
relations between them, some invisible layer does all the
dirty work like building SQL, converting the data types
and caching. So if I fetch a Patient with a specified GUID
I do not have to care about fetching his diseases. They
are fetched automatically. If there are too many Diseases
I do not care some kind of algorithm handles that problem
in such a way that if I have to search all of them for
something they are simply there. They are loaded on demand
(lazy evaluation)

Supposing that the disease has a further connection with
some DiseaseType Object/Table and that table has an
attribute/column "Description" I can access it by typing
the following code:

TextField1.Text = currentDisease.type().description()

Please note that to retrieve the description value I did
only fetch the Patient. The diseases and its types were
fetched automatically.

Is something like that possible or am I excepting too much
of the .NET?

-------------------------------------------------------------------




This tool should be a mixture between Microsoft Visio (I mean ORM modelling)
and a good object-to-relational mapping tool.



Is something like that NOW available????


thx!


gicio

gicio is offline   Reply With Quote
Old 08-29-2003, 10:21 PM   #2 (permalink)
Banned
 
qball's Avatar
 
Join Date: Oct 2001
Posts: 447
qball is on a distinguished road
Quote:
I post this text 1 year ago. But no one really could give
me an answer. This is the text that I posted long time ago:...
Quote:
Is something like that NOW available????
it took you a year to come up with that question?
qball is offline   Reply With Quote
Old 09-01-2003, 02:33 AM   #3 (permalink)
Registered User
 
U-96's Avatar
 
Join Date: Oct 2001
Location: Silently running through the English Channel
Posts: 1,373
U-96 is on a distinguished road
It's going to take me as long again to understand it
U-96 is offline   Reply With Quote
Old 09-01-2003, 08:19 AM   #4 (permalink)
Registered User
 
Join Date: Oct 2002
Posts: 64
gicio is on a distinguished road
LOL
gicio is offline   Reply With Quote
Old 09-02-2003, 09:38 PM   #5 (permalink)
Banned
 
qball's Avatar
 
Join Date: Oct 2001
Posts: 447
qball is on a distinguished road
yes. it is....
qball is offline   Reply With Quote
Old 09-16-2003, 05:36 AM   #6 (permalink)
Registered User
 
Join Date: Sep 2003
Posts: 4
Jacenty is on a distinguished road
Hi,
There are some O/R tools for .NET. My company sells one - PORT (POTIS Object-Relational Toolkit). It supports N:M relationships, inheritance (3 mapping strategies) lazy loading, works with .NET remoting and will work with COM+ in the future. It doesn't work with visio, but there is an importer form SELECT Component Architect (see www.selectbs.com).
Our product site www.port.com.pl will start in a few days, but if you are interesting I can send you evaluation version via e-mail.

Jacenty
jacek.helka@potis.com.pl
Jacenty is offline   Reply With Quote
Old 09-16-2003, 06:08 PM   #7 (permalink)
Registered User
 
Join Date: Oct 2002
Posts: 64
gicio is on a distinguished road
Dzienki Jacek!!!


regards,


gicio


Ps.: Polska still rulez
gicio is offline   Reply With Quote
Old 09-16-2003, 10:14 PM   #8 (permalink)
Banned
 
qball's Avatar
 
Join Date: Oct 2001
Posts: 447
qball is on a distinguished road
"don't think SQL
think objects"

hate to say this, but if you don't know data AND you don't know logic, the concepts of SQL(data) and logic(objects???) will escape you.

one can abstract the concepts to the nth degree, but somewhere the "rubber is in contact with the road".

plus, what if I want to think of SQL objects?
qball is offline   Reply With Quote
Old 09-17-2003, 02:13 AM   #9 (permalink)
Registered User
 
Join Date: Sep 2003
Posts: 4
Jacenty is on a distinguished road
Work

Hi qball,

my "nth degree" is something like that:

Presentation Layer (GUI)
---------------------------------
Business Logic
---------------------------------
Data Access

I think, that it's quite simple. The idea of 3D architecture is to separate orthogonal aspects of aplication. The problem is implementing business logic in terms of objects, e.g.

public class Person
{
string name;
string address;
string phone;
string email;
public Person(string _name, string _address)
{
...
}
...
}

public class Customer: Person
{
ArrayList preferences = new ArrayList();
...
}

If you implement business objects (sometimes called entity objects) you will have to make it persistent. O/R mapping tools gives you possibility to implement your business logic without SQL. You can then use inheritance, polymorphism, N:M relationships.
Of course, you should create a database to store your business objects, but your application can be free of SQL code.
It's not so abstract. I think, that the "rubber is very close to the road".

If you want to think of SQL objects?
Something like: Relation, Column, Constraint?
Maybe: Command, Resultset, Connection?
These objects aren't persistent. Probably they are not business objects. O/R mapping tools are not about it.

Gicio,
Your welcome. Polska not dead yet. Would you like to try eval?

Jacek
Jacenty is offline   Reply With Quote
Old 09-17-2003, 10:23 PM   #10 (permalink)
Banned
 
qball's Avatar
 
Join Date: Oct 2001
Posts: 447
qball is on a distinguished road
what???

does your Person class:

describe YOU as a person, or just a person class?
vs. let's say me?

does it open a door?

does it drive a car?

make a sandwich?

have any concept of data/and/or objects?

use SQL objects?

==end Person class==

the idea of N-tier architecture, orthogonal, or not, already exists, but it don't mow the lawn!

how does a SQL object open a garage door?
qball is offline   Reply With Quote
Reply




Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Most Active Discussions

Recent Discussions

All times are GMT -6. The time now is 03:52 AM.